-
io gbk编码: 中文占用2个字节 ,英文占用1个字节 utf-8:中文占用3个字节, 英文占用1个字节 Java是双字节编码 utf-16be :中文占用2个字节,英文占用2个字节查看全部
-
1.GBK 中文占两个字节,英文占一个字节; 2.utf-8 中文占三个字节,英文占一个字节; 3.java是双字节编码 utf-16be 中文占两个字节,英文占两个字节 4.当你的字节序列是某种编码时,若想把该字节序列变成字符串,也必须用这种编码方式,不能直接使用String str = new String(byteStr);否则系统会使用默认的编码,从而出现乱码 。所以要这样写String str = new String(byteStr,"UTF-8");在第二个参数中写入对应的编码方式,这样就不会出现乱码。 ⑤文本文件就是字节序列,可以是任意编码的字节序列,如果我们在中文机器上直接创建文本文件,则该文本文件只认识ansi编码查看全部
-
要学查看全部
-
输入输出流查看全部
-
这里面的write中while(...){out.write(buf, 0, b)}这里的中write参数的第三个参数b理解好,因为b是buf这个字节数组的具体长度!查看全部
-
IO流(输入流、输出流) 字节流、字符流 1、字节流 1)InputStream、OutputStream InputStream抽象了应用程序读取数据的方式 OutputStream抽象了应用程序写出数据的方式 2)EOF = End 读到-1就读到结尾 3)输入流基本方法 int b = in.read(); 读取一个字节无符号填充到int第八位-1是EOF in.read(byte[] buf); 读取数据填充到字节数组but in.read(byte[] buf, int start, int size); 读取数据到字节数组buf从buf的start位置开始存放size长度的数据 4)输出流基本方法 out.write(int b); 写出一个byte到流,b的低八位 out.write(byte[] buf); 将buf字节数组都写入到流 out.write(byte[] buf, int start, int sizi); 字节数组buf从start位置开始写size长度的字节到流 5)FileInputStream--->具体实现了在文件上读取数据查看全部
-
java.io.File类用于表示文件(目录) File类只用于表示文件目录的信息(名称、大小等),不能用于内容的访问查看全部
-
类中的静态方法可以直接调用,不需实例化查看全部
-
文件读写查看全部
-
对象的序列化与反序列化: 1、强Object转换成byte序列叫做对象的序列化,反之叫对象的反序列化 2、序列化流(ObjectOutputStream)是过滤流 ----writeObject 反序列化流(ObjectInputStream)-----readObject 3、序列化接口(Serializable),对象必须实现序列化接口才能进行序列化,否则将出现异常。这个接口没有任何方法,只是一个标准 4、一个类实现序列化接口,其子类都可以进行序列化。 5、对子类进行反序列化时,其父类没有实现序列化接口,那么其父类的构造函数会被调用 private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException { s.defaultWriteObject();//把jvm能默认序列化的元素进行序列化操作 s.writeInt(stuage);//自己完成stuage的序列化 } private void readObject(java.io.ObjectInputStream s) throws java.io.IOException,ClassNotFoundException{ s.defaultReadObject();//把jvm能默认反序列化的元素进行序列化操作 this.stuage = s.readInt();//自己完成stuage的反序列化操作 }查看全部
-
字符流的过滤器: BufferedReader:readLine 一次读一行 BufferedWriter/PrintWriter: 一次写一行 public class BrAndBwOrPwDemo { public static void main(String[] args) throws IOException { // 对文件进行读写操作 BufferedReader br = new BufferedReader(new InputStreamReader( new FileInputStream("e:\\javaio\\file.txt"))); // BufferedWriter bw = new BufferedWriter(new OutputStreamWriter( // new FileOutputStream("e:\\javaio\\file3.txt"))); PrintWriter pw = new PrintWriter("e:\\javaio\\file4.txt"); String line; while ((line = br.readLine()) != null) { System.out.println(line);// 一次读一行,并不能识别换行 // bw.write(line); // //单独写出换行操作 // bw.newLine();//换行操作 // bw.flush(); pw.println(line); pw.flush(); } br.close(); // bw.close(); pw.close(); } }查看全部
-
int 是32位,通过&0xff将高24位清零查看全部
-
IO流(输入/输出 流) ==>字节流 1、InputStream(OutputStream)抽象应用程序读(读)写数据方式 2、EOF = End 读到-1就相当于读到结尾 3、输入流的基本方法-->执行读操作 int b = in.read();//读取一个字节元符号填充到int低8位 in.read(byte[] buf);//读取数据填充到字节符数组buf in.read(byte[] buf ,int start ,int size);//读取数据到字节符数组buf,从buf的start位置开始存放size长度的数据 4、输出流基本方法:类似于输入流查看全部
-
java.io.File类在Java中表示文件或目录。 File类只用于表示文件(目录)的信息(名称、大小等),不能用于文件内容的访问。 创建File对象:File file=new File(String path); 可以通过 alt+/ 查看构造函数 注意:盘符后跟双斜杠 \\ 或者 / 1. file.seperater();获取系统分隔符 2. file.exists();是否存在.存在返回true,不存在返回false 3. file.mkdir();或者file.mkdirs();创建目录或多级目录。 4. file.isDirectory()或者file.isFile()判断是否是目录或者是否是文件。是返回true,不是为false 5. file.delete();删除文件/文件夹。 6. file.createNewFile();创建新文件。 7. file.getName()获取文件名称。 8. file.getAbsolutePath()获取绝对路径。 9. file.getParent();获取父级绝对路径。查看全部
-
①gbk编码:中文占用2个字节,英文占用1个字节 ②utf-8编码:中文占用3个字节,英文占用1个字节 ③java是双字节编码 utf-16be,中文占用2个字节,英文占用2个字节 ④当你的字节序列是某种编码时,若想把该字节序列变成字符串,也必须用这种编码方式,不能直接使用String str = new String(byteStr);否则系统会使用默认的编码,从而出现乱码 。所以要这样写String str = new String(byteStr,"UTF-8");在第二个参数中写入对应的编码方式,这样就不会出现乱码。 ⑤文本文件就是字节序列,可以是任意编码的字节序列,如果我们在中文机器上直接创建文本文件,则该文本文件只认识ansi编码查看全部
举报
0/150
提交
取消