文件操作笔记

1.在read和write间切换时一定要调用fseek,即使是位置不变也要调用一下fseek(file,0, SEEK_CUR);
2.在a+模式下,read完后要seek,不然写不出来;seek完后write一定写在最后,无论你seek在什么位置。a也一样写在最后,但不seek也能写。
3.fopen是c函数具有缓冲区,_open好象没有?是内核调用
4.t模式在windows会在回车符前自动加0x0d,统一加上b好了
5.估计fopen是_open的封装,有特殊要求可以自己写一个buff封装一个

6.When the “r+”, “w+”, or “a+” access type is specified, both reading and writing are enabled (the file is said to be open for “update”). However, when you switch from reading to writing, the input operation must encounter an EOF marker. If there is no EOF, you must use an intervening call to a file positioning function. The file positioning functions are fsetpos, fseek, and rewind. When you switch from writing to reading, you must use an intervening call to either fflush or to a file positioning function.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java提供了很多文件操作的API,以下是常用的文件操作方法: 1. 创建文件 可以使用`File`类的构造方法来创建文件对象,并使用`createNewFile()`方法来创建文件。 ```java File file = new File("test.txt"); if(file.createNewFile()){ System.out.println("文件创建成功!"); }else{ System.out.println("文件已存在!"); } ``` 2. 删除文件 可以使用`delete()`方法来删除文件。 ```java File file = new File("test.txt"); if(file.delete()){ System.out.println("文件删除成功!"); }else{ System.out.println("文件不存在!"); } ``` 3. 读取文件 可以使用`FileReader`或`BufferedReader`类来读取文件。 ```java // FileReader FileReader reader = new FileReader("test.txt"); int c; while((c = reader.read()) != -1){ System.out.print((char)c); } reader.close(); // BufferedReader File file = new File("test.txt"); BufferedReader reader = new BufferedReader(new FileReader(file)); String line; while((line = reader.readLine()) != null){ System.out.println(line); } reader.close(); ``` 4. 写入文件 可以使用`FileWriter`或`BufferedWriter`类来写入文件。 ```java // FileWriter FileWriter writer = new FileWriter("test.txt"); writer.write("Hello World!"); writer.close(); // BufferedWriter File file = new File("test.txt"); BufferedWriter writer = new BufferedWriter(new FileWriter(file)); writer.write("Hello World!"); writer.newLine(); writer.write("Java 文件操作!"); writer.close(); ``` 5. 复制文件 可以使用`FileInputStream`和`FileOutputStream`类来复制文件。 ```java File source = new File("source.txt"); File dest = new File("dest.txt"); try( FileInputStream fis = new FileInputStream(source); FileOutputStream fos = new FileOutputStream(dest) ){ byte[] buffer = new byte[1024]; int length; while((length = fis.read(buffer)) > 0){ fos.write(buffer, 0, length); } System.out.println("文件复制成功!"); }catch(IOException e){ e.printStackTrace(); } ``` 以上是常用的文件操作方法,还有其他更多的文件操作方法,可以查看Java官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值