> Java > java지도 시간 > Java에서 파일 읽기 및 쓰기 작업을 구현하는 방법

Java에서 파일 읽기 및 쓰기 작업을 구현하는 방법

WBOY
풀어 주다: 2023-05-22 13:18:02
앞으로
3297명이 탐색했습니다.

    Java의 파일 입력 및 출력 작업은 기본 작업입니다. Java에서는 File 및 FileInputStream, FileOutputStream, BufferedReader, PrintWriter 및 기타 클래스를 사용하여 파일 읽기 및 쓰기 작업을 수행할 수 있습니다.

    파일 읽기

    Java에서는 FileInputStream 및 BufferedReader 클래스를 사용하여 파일을 읽을 수 있습니다.

    FileInputStream:

    FileInputStream은 파일 시스템에서 열린 파일의 입력 스트림을 읽는 데 사용할 수 있습니다. InputStream 클래스를 상속하고 파일 I/O와 관련된 다양한 메서드를 제공합니다. 이를 사용하여 지정된 경로 아래의 파일을 열고 파일에서 데이터를 읽을 수 있습니다.

    FileInputStream inputStream = null;
    try {
        File file = new File("file.txt");
        inputStream = new FileInputStream(file);
        int content;
        while ((content = inputStream.read()) != -1) {
            // 处理读取到的字节
        }
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        if (inputStream != null) {
            try {
                inputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    로그인 후 복사

    위 코드에서는 먼저 File 개체를 만든 다음 FileInputStream을 사용하여 파일 내용을 읽습니다. FileInputStream은 한 번에 1바이트만 읽을 수 있으므로 각 바이트를 연속적으로 읽으려면 while 루프를 사용해야 합니다. read() 메서드가 -1을 반환하면 전체 파일을 읽었다는 의미입니다.

    BufferedReader:

    버퍼링된 문자 입력 스트림은 BufferedReader 래퍼 클래스로 래핑되어 문자 입력 스트림을 래핑할 수 있습니다. 한 번에 여러 문자를 읽을 수 있어 파일 읽기 효율성이 향상된다는 장점이 있습니다.

    BufferedReader reader = null;
    try {
        File file = new File("file.txt");
        FileReader fileReader = new FileReader(file);
        reader = new BufferedReader(fileReader);
        String content;
        while ((content = reader.readLine()) != null) {
            // 处理读取到的一行字符串
        }
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        if (reader != null) {
            try {
                reader.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    로그인 후 복사

    위 코드에서는 먼저 File 객체를 생성한 다음 FileReader를 사용하여 파일을 문자 스트림으로 변환하고 BufferedReader를 사용하여 래핑합니다. 각 줄의 내용을 읽을 때 readLine() 메서드를 사용합니다. 이 메서드가 null을 반환하면 전체 파일을 읽었다는 의미입니다.

    파일 쓰기

    Java에서는 FileOutputStream 및 PrintWriter 클래스를 사용하여 파일을 쓸 수 있습니다.

    FileOutputStream:

    FileOutputStream은 파일 시스템에 데이터를 출력하는 데 사용되는 출력 스트림입니다. OutputStream 클래스의 하위 클래스로 파일 입출력과 관련된 많은 메소드를 가지고 있습니다. 이를 사용하여 지정된 경로 아래의 파일을 열고 파일에 데이터를 쓸 수 있습니다.

    FileOutputStream outputStream = null;
    try {
        File file = new File("file.txt");
        outputStream = new FileOutputStream(file);
        String content = "Hello, world!";
        byte[] bytes = content.getBytes();
        outputStream.write(bytes);
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        if (outputStream != null) {
            try {
                outputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    로그인 후 복사

    위 코드에서는 먼저 File 개체를 만든 다음 FileOutputStream을 사용하여 파일 내용을 씁니다. FileOutputStream은 한 번에 하나의 바이트 또는 바이트 배열만 쓸 수 있으므로 쓰려는 문자열을 바이트 배열로 변환해야 합니다.

    PrintWriter:

    PrintWriter는 문자 출력 스트림을 인쇄 출력 스트림으로 래핑하는 래퍼 클래스입니다. 문자열, 숫자 등 다양한 데이터 유형을 출력하는 편리한 방법을 제공합니다. 또한 PrintWriter는 기록된 데이터의 형식을 지정할 수도 있습니다.

    PrintWriter writer = null;
    try {
        File file = new File("file.txt");
        FileWriter fileWriter = new FileWriter(file);
        writer = new PrintWriter(fileWriter);
        String content = "Hello, world!";
        writer.println(content);
    } catch (IOException e) {
        e.printStackTrace();
    }
    로그인 후 복사

    위 코드에서는 먼저 File 개체를 만든 다음 FileWriter를 사용하여 파일을 문자 스트림으로 변환하고 PrintWriter를 사용하여 래핑합니다. 여기서는 println() 함수를 사용하여 문자열을 작성합니다. 그러면 자동으로 문자열 끝에 개행 문자가 추가됩니다.

    파일 복사

    Java에서는 FileInputStream 및 FileOutputStream을 사용하여 파일 복사 기능을 구현할 수 있습니다.

    FileInputStream inputStream = null;
    FileOutputStream outputStream = null;
    try {
        File sourceFile = new File("source.txt");
        File targetFile = new File("target.txt");
        inputStream = new FileInputStream(sourceFile);
        outputStream = new FileOutputStream(targetFile);
        byte[] buffer = new byte[1024];
        int length;
        while ((length = inputStream.read(buffer)) > 0) {
            outputStream.write(buffer, 0, length);
        }
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        if (inputStream != null) {
            try {
                inputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        if (outputStream != null) {
            try {
                outputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    로그인 후 복사

    우리는 먼저 이 코드에서 두 개의 File 개체를 만들었습니다. 하나는 소스 파일을 나타내고 다른 하나는 대상 파일을 나타냅니다. 다음으로 FileInputStream 및 FileOutputStream을 사용하여 원본 파일을 읽고 이를 대상 파일에 씁니다. 한 번에 특정 길이의 바이트 데이터만 읽을 수 있으므로 읽은 데이터를 저장하려면 버퍼(바이트 배열)를 사용해야 합니다. 마지막으로 전체 파일을 읽었을 때 입력 및 출력 스트림이 닫힙니다.

    파일 삭제

    Java에서는 File 클래스의 delete() 메서드를 사용하여 파일을 삭제할 수 있습니다.

    File file = new File("file.txt");
    if (file.delete()) {
        System.out.println("文件删除成功!");
    } else {
        System.out.println("文件删除失败!");
    }
    로그인 후 복사

    파일 객체를 사용하여 파일을 삭제했습니다. 먼저 객체를 만든 다음 해당 객체의 delete() 메서드를 호출했습니다. 파일 삭제에 성공하면 true가 반환되고, 파일 삭제에 실패하면 false가 반환됩니다.

    파일 이름 변경

    Java에서는 File 클래스의 renameTo() 메서드를 사용하여 파일 이름 변경 기능을 구현할 수 있습니다.

    File sourceFile = new File("source.txt");
    File targetFile = new File("target.txt");
    if (sourceFile.renameTo(targetFile)) {
        System.out.println("文件重命名成功!");
    } else {
        System.out.println("文件重命名失败!");
    }
    로그인 후 복사

    먼저 두 개의 File 객체를 인스턴스화했습니다. 이 두 객체 중 하나는 원본 파일 이름을 나타내고 다른 하나는 대상 파일 이름을 나타냅니다. renameTo() 메서드를 사용하여 원본 파일 이름을 대상 파일 이름으로 바꿉니다. true가 반환되면 파일 이름 변경이 성공한 것입니다. false가 반환되면 파일 이름 변경이 성공하지 못했다는 의미입니다.

    위 내용은 Java에서 파일 읽기 및 쓰기 작업을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    관련 라벨:
    원천:yisu.com
    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    인기 튜토리얼
    더>
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿