Java—FileOperator
Swing中JFileChooser的用法:
showSaveDialog:
JFileChooser jfc = new JFileChooser(System.getProperty("user.dir")); //设置初始路径 int result = jfc.showSaveDialog(this); if (result != JFileChooser.APPROVE_OPTION) return; //附上这段,描述两种判断输入为空的方法 if (this.jtaContent.getText().trim().length() == 0) //if (this.jtaContent.getText().trim().equals("")) { JOptionPane.showMessageDialog(new JFrame(), "请输入内容"); return; }
showOpenDialog:
JFileChooser jfc = new JFileChooser(System.getProperty("user.dir")); int result = jfc.showOpenDialog(this); if (result != JFileChooser.APPROVE_OPTION) return; File file = jfc.getSelectedFile(); this.jtfFilePath.setText(file.getAbsolutePath());
读写文本文件——面向字符(16位的Unicode)的流Writer、Reader:
和C#一样,当文件不存在时,java的Writer会新建一个文件,Reader则会抛出异常。
FileWriter、BufferedWriter的使用:
File file = jfc.getSelectedFile(); //JFileChooser try { FileWriter fileWriter = new FileWriter(file); BufferedWriter writer = new BufferedWriter(fileWriter); writer.write(this.jtaContent.getText().replace("\n", "\r\n")); writer.close(); fileWriter.close(); } catch (Exception e) { e.printStackTrace(); }
FileReader、BufferedReader:
File file = jfc.getSelectedFile(); this.jtfFilePath.setText(file.getAbsolutePath()); try { FileReader fileReader = new FileReader(file); BufferedReader reader = new BufferedReader(fileReader); String content = ""; while ((content = reader.readLine()) != null) //先赋值,后判断content的值 { this.jtaContent.append(content + "\n"); sum += Integer.parseInt(content); } reader.close(); fileReader.close(); } catch (Exception e) { e.printStackTrace(); }
用字节流FileInputStream、FileOutputStream来读写文本:
FileInputStream fiStream = new FileInputStream("F:/wukong.txt"); byte[] arr = new byte[1024]; int size = fiStream.read(arr, 0, arr.length); FileOutputStream foStream = new FileOutputStream("F:/shutao.txt"); foStream.write(arr, 0, size); foStream.close(); fiStream.close();
读写二进制文件——面向字节的流InputStream、OutputStream:
DataOutputStream结合FileOutputStream使用:
FileOutputStream foStream = new FileOutputStream("F:/shutao.dat"); DataOutputStream dataStream = new DataOutputStream(foStream); dataStream.write(255); foStream.close(); dataStream.close();
DataInputStream结合FileInputStream使用:
FileInputStream fiStream = new FileInputStream("F:/shutao.dat"); DataInputStream dataStream = new DataInputStream(fiStream); System.out.println(dataStream.read()); fiStream.close(); dataStream.close();
File类:
File类只能获取文件、目录的属性,不能创建文件、目录。
常用的属性有:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 上周热点回顾(1.20-1.26)