D盘下有个1.txt,然后用这个程序运行,OutputStream和InputStream都操作这个文件夹,当outputStream以append方式打开是,inputStream能读取到数据,但是append为false时读取不到数据。都是先读取再写入
下面是代码:
package javaIO;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
public class io {
public static void main(String[] args) {
InputStream streamInput = null;
OutputStream outputStream = null;
byte buffer[] = new byte[1000];
int a = 0;
int token = 0;
try {
streamInput = new FileInputStream(new File("D:\\1.txt"));
outputStream = new FileOutputStream(new File("D:\\1.txt"), false);
while ((token = streamInput.read(buffer)) != -1) {
a++;
System.out.print(new String(buffer, 0, token));
}
System.out.println(a);
outputStream.write(new String("\n测试文本").getBytes());
streamInput.close();
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
System.out.println(e);
}
}
}
如果先写入,再读取,是能够读取到数据的
下面是代码:
package javaIO;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
public class io {
public static void main(String[] args) {
InputStream streamInput = null;
OutputStream outputStream = null;
byte buffer[] = new byte[1000];
int a = 0;
int token = 0;
try {
streamInput = new FileInputStream(new File("D:\\1.txt"));
outputStream = new FileOutputStream(new File("D:\\1.txt"), false);
while ((token = streamInput.read(buffer)) != -1) {
a++;
System.out.print(new String(buffer, 0, token));
}
System.out.println(a);
outputStream.write(new String("\n测试文本").getBytes());
streamInput.close();
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
System.out.println(e);
}
}
}
如果先写入,再读取,是能够读取到数据的










