zoukankan      html  css  js  c++  java
  • 第十周java总结

    Java IO

    1、file类

                 file类的构造方法:
                 public Flie(String pathname)  -->实例化Flie类的时候,必须设置好路径。
                 如:Flie f = new Flie("d:\test.txt");
    

    (1)Windows中使用反斜杠表示目录的分隔符。
    (2) Linux中使用正斜杠表示目录的分隔符。
    Flie类主要方法:

    2、字节流与字符流

    Java IO的操作流程:
    (1)使用Flle类打开一个文件。
    (2)通过字节流和字符流的子类指定输出的位置。
    (3)进行读和写的操作。
    (4)关闭输入和输出。

    字节流

    字节输出流:OUtputStream
    OutputStream是一个抽象类,因此需要通过子类FileOutputStream实例化对象,才能够使用它。
    常用方法:
    public void write(int b) throws IOException:
    一次写一个字节    b- 要写入的字节。

    public void write(byte[] b) throws IOException:
    一次写一个字节数组

    public void write(byte[] b, int off,int len) throws IOException:
    一次写一部分字节数组

    public void close()throws IOException
    关闭此文件输出流并释放与此流有关的所有系统资源。此文件输出流不能再用于写入字节。

    字节输入流:
    它与OutputStream一样,需要通过子类FlieInputStream实例化对象。
    常用方法:

    字符流

    字符输出流:Writer
    它也是一个抽象类,需要通过子类FlieWriter实例化对象。
    常用方法:

    字符输入流:Reader
    同样是一个抽象类,需要通过子类FlieReader实例化对象。
    常用方法:
    public int read() throws IOException
    读取单个字符。
    作为一个整数(其范围从 0 到 65535 (0x00-0xffff))读入的字符,如果已到达流末尾,则返回 -1

    public int read(char[] cbuf) throws IOException
    一次读取一个字节数组

    cbuf - 目标缓冲区
    读取的字符数,如果已到达流的末尾,则返回 -1

    public void close() throws IOException
    关闭该流并释放与之关联的所有资源。

    public String readLine() throws IOException
    读取一个文本行。通过下列字符之一即可认为某行已终止:换行 (' ')、回车 (' ') 或回车后直接跟着换行。
    包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null

    课堂作业

    实验代码

    package 课堂作业;
    
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.Reader;
    import java.io.Writer;
    import java.util.Scanner;
     
    public class Main {
        public static void main(String[] args) throws Exception {
            String pathname="D:"+File.separator+"课堂作业"+File.separator+"作业.txt";
            aFormatA(pathname);
        }
        public static void aFormatA(String pathname) throws Exception {
            File file=new File(pathname);
            Reader input=new FileReader(file);
            Writer out=new FileWriter(file,true);
            int z;
            out.write('
    ');
            String str="字母大写";
            out.write(str);
            out.write('
    ');
            while(true){
                if((z=input.read())!=-1){
                     if(z>=97&&z<=122){
                        z=z-97+'A';
                     }
                     out.write(z);
                }
                else {
                    break;
             }
         }
            input.close();
            out.close();
        }
    
    }
    
    package 课堂作业;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
     
    public class Main1{
        public static void main(String[] args) throws Exception{
            String pathname="D:"+File.separator+"课堂作业"+File.separator+"作业.txt";
            aFormatA(pathname);
        }
        private static void aFormatA(String pathname) throws Exception{
            File file =new File(pathname);
            InputStream input=new FileInputStream(file);
            OutputStream out=new FileOutputStream(file,true);
            byte[] b=new byte[(int)file.length()];
            int i=0;
            int z;
            while(true){
                if((z=input.read())!=-1){
                    if(z<=122&&z>=97){
                        z=z-97+'A';
                    }
                    b[i]=(byte)z;
                    i++;
                }
                else{
                    break;
                }
            }
            out.write("
    字母大写
    ".getBytes());
            out.write(b);
            input.close();
            out.close();
        }
        
    }
    

    实验截图与代码截图

  • 相关阅读:
    多选下拉框带搜索(aps.net)
    asp.net无刷新上传(带预览)
    http免费升级https 攻略(超简单)
    用JS获取地址栏参数的方法
    C#生成二维码
    update更新另一个字段
    自适应瀑布型布局(手机,PC全兼容)
    微信扫码支付.net版本
    常用css3技巧
    Repeater 嵌套,子级Repeater获取 父级Repeater 中的值
  • 原文地址:https://www.cnblogs.com/songzhihaoT1/p/11784259.html
Copyright © 2011-2022 走看看