write(b);
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
class Main {
public static void main(String[] args) throws IOException {
int k = 0;
FileOutputStream fo = new FileOutputStream("files");//注意:这里要加上“”,然后再写文件名,创建文件
//注意 fileInputStream("")里面 需要加双引号
//+然后创建的这个是相对路径,
//如果是读取,它就会默认地查找在IDEA的一个project目录下面;
//如果是创建,这个Main类是在src下面的,所以创建的files文件在src下面
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//然后创建数组
byte[] b = {48,49,50,51,97,100};
//好了,byte数组建好了,怎么把它传入呢?
//利用write方法
fo.write(b);//write的特点:将原文件清空,再重新写入。
System.out.println();//没有作用
fo.write(b,0,3);//这里是将 前三个字节,再写入到后面
}
}
结果如下
0123ad012
write(b,0,3)是在后面跟着写的。而实际上write在写入一个文件的时候,会把那个文件先清空
input output是对于所写的Java来说的
实际上,input是获取(进入)
output写出去(输出)到文本文件里
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
class Main {
public static void main(String[] args) throws IOException {
int k = 0;
FileOutputStream fo = new FileOutputStream("files");//注意:这里要加上“”,然后再写文件名,创建文件
//注意 fileInputStream("")里面 需要加双引号
//+然后创建的这个是相对路径,
//如果是读取,它就会默认地查找在IDEA的一个project目录下面;
//如果是创建,这个Main类是在src下面的,所以创建的files文件在src下面
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//然后创建数组
byte[] b = {48,49,50,51,97,100};
//好了,byte数组建好了,怎么把它传入呢?
//利用write方法
//fo.write(b);//write的特点:将原文件清空,再重新写入。
System.out.println();//没有作用
fo.write(b,0,3);//这里是将 前三个字节,再写入到后面
}
}
这里将write(b)注释掉了
files的结果如下:
012
+++++++++++++++++++++++++++++++++++++++++++++++
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
class Main {
public static void main(String[] args) throws IOException {
int k = 0;
FileOutputStream fo = new FileOutputStream("files");//注意:这里要加上“”,然后再写文件名,创建文件
//注意 fileInputStream("")里面 需要加双引号
//+然后创建的这个是相对路径,
//如果是读取,它就会默认地查找在IDEA的一个project目录下面;
//如果是创建,这个Main类是在src下面的,所以创建的files文件在src下面
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//然后创建数组
byte[] b = {48,49,50,51,97,100};
//好了,byte数组建好了,怎么把它传入呢?
//利用write方法
//fo.write(b);//write的特点:将原文件清空,再重新写入。
System.out.println();//没有作用
//fo.write(b,0,3);//这里是将 前三个字节,再写入到后面
fo.write(b,0,b.length);
}
}
好了,这下直接b.length,files内容如下:
0123ad
这样也可以输出了
刚才又去试了一下,如果输入的是sout(b,1,b.length);那么什么也打印不了!!!!!
就是那么离谱!
换成2,b.length也是…
追加在后面,就不会覆盖文件了
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
class Main {
public static void main(String[] args) throws IOException {
int k = 0;
FileOutputStream fo = new FileOutputStream("files",true);//注意点:先打,再打true
byte[] b = {48,49,50,51,97,100};
fo.write(b);
}
}
注意点:先打 逗号,再打true就行了
files的结果:
aajskfhsjdLAKAMSDA
DAKLDJLSAKDA
SAKDLASDKA//这堆是我乱按的。
0123ad//追加在后面了
所以只要逗号+true就可以追加了
+++++++++++++++++++++++++++++++++++++++++++++++++++++
这样一个个地打ASCII码太慢了,怎么才能直接输入字符串呢?s.getBytes();方法。
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
class Main {
public static void main(String[] args) throws IOException {
int k = 0;
FileOutputStream fo = new FileOutputStream("files",true);//注意点:先打,再打true
String s;
s="asflasjdaldalkjfahwkjaksldjak";
byte[] b = s.getBytes();//
//再写一边:byte b = s.getBytes();
fo.write(b);
}
}
输出结果:
aajskfhsjdLAKAMSDA
DAKLDJLSAKDA
SAKDLASDKA
0123adasflasjdaldalkjfahwkjaksldjak