>Java >java지도 시간 >Android에서 텍스트 파일을 올바르게 읽고 일반적인 예외를 해결하는 방법은 무엇입니까?

Android에서 텍스트 파일을 올바르게 읽고 일반적인 예외를 해결하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-08 18:32:11946검색

How to Correctly Read Text Files in Android and Troubleshoot Common Exceptions?

Android에서 텍스트 파일 읽기: mani.txt에서 읽을 때 예외 문제 해결

읽을 때 예외가 발생합니다. Android 애플리케이션에 "mani.txt"라는 텍스트 파일이 있습니다. 이 오류는 코드가 잘못된 위치에서 파일을 검색하기 때문에 발생합니다.

Android에서 텍스트 파일을 성공적으로 읽으려면 먼저 파일을 애플리케이션 폴더 내의 적절한 위치에 배치해야 합니다. 지정한 경로("E:testsrccomtestmani.txt")는 Android 애플리케이션의 유효한 경로가 아닙니다.

Android에서 텍스트 파일을 읽을 때 권장되는 접근 방식은 InputStream 클래스를 사용하여 파일에 대한 스트림을 여는 것입니다. 그리고 그 내용을 읽어보세요. 그러나 이 접근 방식이 작동하려면 파일 경로가 정확해야 합니다.

하드 코딩된 절대 경로를 사용하는 대신 openFileInput(String fileName) 메서드를 사용하여 파일에 대한 스트림을 열어야 합니다. 응용 프로그램 폴더. 이 메서드는 파일 이름을 인수로 사용하고 해당 스트림을 엽니다.

다음은 애플리케이션 폴더에서 "mani.txt" 파일을 읽는 향상된 코드 예제입니다.

try {
    InputStream instream = openFileInput("mani.txt"); // Opens a stream to the file "mani.txt"
    if (instream != null) {
        InputStreamReader inputreader = new InputStreamReader(instream); // Creates an InputStreamReader to read from the stream
        BufferedReader buffreader = new BufferedReader(inputreader); // Creates a BufferedReader to read the data
        String line, line1 = "";
        try {
            while ((line = buffreader.readLine()) != null) // Read each line
                line1 += line; // Append each line to the final string
        } catch (Exception e) {
            e.printStackTrace(); // Handle any exceptions that may occur
        }
    }
} catch (Exception e) {
    String error = e.getMessage(); // Handle the exception if the file could not be found or opened
}

이것은 코드에서는 "mani.txt" 파일이 응용 프로그램 폴더에 있다고 가정합니다. 다른 위치에서 파일을 읽어야 하는 경우 Environment.getExternalStorageDirectory() 메서드를 사용하여 외부 저장소 디렉터리에 대한 경로를 가져올 수 있습니다.

또는 AssetManager 클래스를 사용하여 파일을 읽을 수도 있습니다. 애플리케이션의 자산 폴더에서. 이 방법은 애플리케이션 패키지에 파일을 포함하고 런타임에 읽으려는 경우에 더 적합합니다.

위 내용은 Android에서 텍스트 파일을 올바르게 읽고 일반적인 예외를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.