Java에서 .txt 파일을 읽고 모든 줄에 정수, 문자열 및 이중 수가 포함되어 있으면 모든 줄을 배열에 넣을 수 있습니까? 그리고 모든 라인에는 단어/숫자의 양이 다릅니다.자바에서 텍스트 파일 읽기
나는 자바의 완전한 멍청한 놈이다.이 질문이 좀 어리 석다면 미안해.
감사
Java에서 .txt 파일을 읽고 모든 줄에 정수, 문자열 및 이중 수가 포함되어 있으면 모든 줄을 배열에 넣을 수 있습니까? 그리고 모든 라인에는 단어/숫자의 양이 다릅니다.자바에서 텍스트 파일 읽기
나는 자바의 완전한 멍청한 놈이다.이 질문이 좀 어리 석다면 미안해.
감사
귀하의 질문은 매우 명확하지 않다, 그래서 오직 "읽기"부분에 대해 답변 해 드리겠습니다 :
List<String> lines = new ArrayList<String>();
BufferedReader br = new BufferedReader(new FileReader("fileName"));
String line = br.readLine();
while (line != null)
{
lines.add(line);
line = br.readLine();
}
당신을 잊었다 br.close() –
아무도에 대해 알고하지 않는 Scanner
클래스를 시도하지만 거의 모든 작업을 수행 할 수 있습니다 텍스트.
File file = new File ("...path...");
String encoding = "...."; // Encoding of your file
Reader reader = new BufferedReader (new InputStreamReader (
new FileInputStream (file), encoding));
... use reader ...
reader.close();
을 사용합니다.
+1 스캐너를 지적했다. 나는 전에 그것에 대해 듣지 못했다. 재미있는 수업. – JasCav
"스캐너에 대해 아무도 모릅니다." 적어도 나를 위해 진실을 가졌다. 스캐너는 다음과 같이 사용할 수도 있습니다 : 스캐너 sc = 새 스캐너 (새 파일 ("fileName")); // 왜 그런 식으로 사용하지 않을까요? – sttaq
@sttaq : 기본 인코딩을 사용하기 때문입니다. 데이터를 읽을 때 기본 인코딩을 사용하지 마십시오. 입력 내용을 항상 확인하거나 코드에서 허용하는 인코딩을 지정하십시오. 어느 쪽이든, 그것을 특정한 것으로 무너 뜨립니다. –
가장 쉬운 옵션은 Apache Commons IO JAR을 사용하고 org.apache.commons.io.FileUtils 클래스를 가져 오는 것입니다. 이 클래스를 사용할 때 많은 가능성이 있지만 가장 명백한 것은 다음과 같습니다.
List<String> lines = FileUtils.readLines(new File("untitled.txt"));
정말 쉽습니다.
"바퀴를 재발 명하지 마십시오."
사용되는 공통 :
String line = null;
File file = new File("readme.txt");
FileReader fr = null;
try
{
fr = new FileReader(file);
}
catch (FileNotFoundException e)
{
System.out.println("File doesn't exists");
e.printStackTrace();
}
BufferedReader br = new BufferedReader(fr);
try
{
while((line = br.readLine()) != null)
{
System.out.println(line);
}
스택 오버플로에 오신 것을 환영합니다! 귀하의 게시물 주셔서 감사합니다! 게시물에 서명/태그 라인을 사용하지 마십시오. 사용자 상자는 서명으로 간주되며 프로필을 사용하여 원하는 자신에 대한 정보를 게시 할 수 있습니다. [서명/태그 라인에 대한 FAQ] (http://stackoverflow.com/faq#signatures) 특히, 귀하의 게시물에 스팸으로 신고 될 수 있으므로 귀하의 웹 사이트 URL을 포함하지 마십시오. –
을 모두 user248921 첫째 @, 당신은 문자열 배열에서 아무것도 저장할 수 있습니다, 그래서 당신은 문자열 배열을 만들고 당신이 원하는 때마다 코드에서 배열 사용 가치에 선을 저장할 수 있습니다 . 당신은 배열에 이질적 인 (string, int, boolean, 등등을 포함하는) 선을 저장하기 위해 아래 코드를 사용할 수 있습니다.
public class user {
public static void main(String x[]) throws IOException{
BufferedReader b=new BufferedReader(new FileReader("<path to file>"));
String[] user=new String[500];
String line="";
while ((line = b.readLine()) != null) {
user[i]=line;
System.out.println(user[1]);
i++;
}
}
}
각 라인마다 정확히 무엇을 하시겠습니까? –
이 질문은 당신을 도울 것입니다 : http://stackoverflow.com/questions/224952 –
@Fabian Steeg : 당신이 링크 한 질문은 이와 같이 다른 데이터 유형을 다루는 것을 다루지 않습니다. – Powerlord