잡동사니

반응형

질문

먼저 새 파일을 만든 다음 제목에서 새 입력으로 확장하기 위해 아래 코드를 얻으려고합니다. 하지만 "텍스트"파일이나 영화 목록을 찾을 수 없습니다. 누군가가 내가 놓친 것에 대한 힌트를 줄 수 있습니까?

            private void addMovie() throws IOException {
            System.out.print("Titel: ");
            String title = _scanner.nextLine().trim();
            int reviewScore = getNumberInput(_scanner, 1, 5, "Betyg (1 - 5): ");

            Path path = Paths.get("text.txt");{
             
            
            if(!Files.exists(path)) {
                Files.createFile(path);
            }
        
            List<String> movies = new ArrayList<String>();

            movies.add(title);
            

            
            Files.write(path, movies);
            
            
        }
    }

 

답변1

게시 된 코드는 일부 선언이 누락 된 조각입니다.사실 나는 그것에 대해 많이 언급 할 수 없다.

다음은 텍스트 파일을 작성할 때 수행하는 작업입니다.

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class Test {

    public static void main(String[] args) {

        File target = new File("text.txt");

        // this file needs no creation, just start writing into it as demonstrated in
        // the try-catch block:

        try {
            
            // this will overwrite if existed or create
            
            BufferedWriter brw = new BufferedWriter(new FileWriter(target, true));
            for (int i = 0; i <= 10; i++) {
                brw.write("this is line number " + i + "\r\n");
            }
            brw.flush();
            brw.close();

            // now study the API for FileWriter: is has a constructor with boolean argument
            // called "append"

            BufferedWriter brw_append = new BufferedWriter(new FileWriter(target, true));
            for (int i = 11; i <= 20; i++) {
                brw_append.write("this is additional line number " + i + "\r\n");
            }
            brw_append.flush();
            brw_append.close();

            BufferedReader brd = new BufferedReader(new FileReader(target));
            String line = brd.readLine();

        } catch (IOException e) {

            e.printStackTrace();
        }

    }
}

파일을 읽기 위해 "쓰기"대신 "읽기"와 비슷하게 보입니다.

BufferedReader brd= new BufferedReader(new FileReader(target));
String line= brd.readLine();

참고 : 위 코드가 생성 한 텍스트 파일은 코드가 실행되는 디렉토리, 일반적으로 IDE의 작업 공간 어딘가에 나타납니다.작업 공간을 정의한 위치를 모르는 경우 컴퓨터에서 "test.txt"를 검색하여 찾을 수 있습니다.

물론 다른 경로를 입력하여 파일 대상생성시 모든 경로를 지정할 수 있습니다. FileAPI는 추가 읽기에 유용합니다.



 

 

 

 

출처 : https://stackoverflow.com/questions/63209896/java-overwrite-input-to-file

반응형

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band