-
//创建文件 file file1=new file("文件路径\\文件名称"); file file2=new file("文件路径","文件名称"); file1.exist();//文件是否存在。 file1.createnewfile();//创建file1文件。 file1.mkdir();//创建目录. file1.mkdirs();//创建多级目录. file1.getParent();//获取当前文件父目录。 file1.toString();//当前文件路径。 alt+/ 用于查看当前方法的API。查看全部
-
字符流的过滤器和前面字节缓冲流(BufferedInputStream&BufferedOutputStream)对应,相当于字符缓冲流.
查看全部 -
FileReader≈FileInputStream+InputStreamReader
查看全部 -
在Java中,new File("name")不会创建新文件,在new File()之后需要调用createNewFile()才能创建新文件;
new FileOutputStream("name")会产生一个新文件;
new FileInputStream("name")不会创建新文件,若文件不存在会报错.
查看全部 -
String str=new String(数组,编码方式);//使数组转换成按照编码格式的字符串。 []bytes =str.getbyte("编码方式");//使str转换成按照编码方式的字节数组。 各文件编码方式不同,一个字符所占用的字节数也不同。 java默认为gbk编码格式。当两个包编码格式不同时,直接复制进去的文档会出现乱码。但仅复制内容,编译器会自动转换成所属包的编码格式。 & 0xff 去掉进制前面一大串0。查看全部
-
对子类对象急性反序列化操作时,如果其匪类没有实现序列化接口,那么其父类的构造函数会被显式调用。
但在序列化的过程当中,会对其全部的父类(包括间接的父类也调用构造函数)
查看全部 -
序列化与反序列化的操作:
ObjectOutputStream oss = new ObjectOutputStream( new FileOutputStream(path)) 这个是序列过程,在oss当中需要套用到字节流
oss.writeObject(new Foo()), 将对象序列化以后保存path当中。
ObjectInputStream ois = new ObjectInputStream( new FileInputStream(path))这个是反序列过程,在ois当中需要套用到字节流
Foo foo = ois.readObject()
查看全部 -
在java中字节流,inputstream和outputstream都是抽象类,规定了读取数据和写入数据的方式
查看全部 -
在字符串的构造方法里面有两个参数,第一个是将字节序列,第二个是编码方式(这里我们使用这种方式构造字符串,String str = new String(bytes,"utf-8be")
查看全部 -
write(int)只写入int的最低位的一个字节,其它3个字节被抛弃
writeInt(int)是把整个32位都写入
查看全部 -
gbk编码中文占用2个字节,英文占用1个字节
utf-8编码中文占用3个字节,英文占用1个字节
Java是双字节编码(utf-16be),中文和英文都占2个字节
想要将字节序列(byte数组)转化为Java字符串时应转换为utf-16be编码格式
查看全部 -
在listDirectory(File dir) 方法中
创建 File[] files = dir.listFiles();
如果文件夹非空,且数量大于0
开始遍历
这个是目录吗?
是,就将此目录的路径传入listDirectory(File dir) 中[调用自身]
循环询问,这个是目录吗?(相当于一个目录一个目录的进去问)
不是目录就打印出来。System.out.println(st);
由此可以遍历目录下所有的文件。
查看全部 -
现在JavaIO_test1.java
里面public static void listDirecrory(File dir) throws IOException{
}创建一个方法listDirecrory(文件类型)
把文件类型dir.list() 存到String[] filenames 字符串里面。
再一个一个打印出来。
在public class JavaIOtest2 {调用:JavaIO_test1.listDirecrory(new File("E:\\"));
就可以显示该路径下的所有目录。
查看全部 -
字节流 基本操作
查看全部 -
将字符串转化为 X进制的显示方式:
String s ="慕课网ABC";
byte[] bytes1 = s.getBytes();
//byte[] bytes1 = s.getBytes("gbk"); 此处可更换编码方式
for(byte b : bytes1){
System.out.print(Integer.toHexString(b & 0xff) + " ");
}
更换编码方式已经存在字符串bytes4 = "慕课网ABC";
String str1 = new String(bytes4); //这是用项目默认的编码
//String str2 = new String(bytes4,"utf-16be"); 这里可以更换编码方式查看全部
举报