정보를 얻기 위해 텍스트 파일에서 스캐너 클래스를 사용할 수 있습니까?
-
21-08-2019 - |
문제
이 코드는 정확합니다 ??
String note = "text.txt";
FileWriter file = new FileWriter(note);
Scanner sc = new Scanner(System.in);
System.out.println("Enter your name:");
String name = sc.next();
file.close();
이 파일을 어떻게 명령 줄 인수로 프로그램에 전달할 수 있습니까 ???
해결책
글쎄, 개인적으로 나는 결코 사용하지 않을 것입니다 FileWriter
시스템 기본 인코딩을 사용하므로 대부분의 시간에 불쾌한 일입니다. 나는 선호한다 FileOutputStream
+ OutputStreamWriter
. 그러나 그 말을 ...
명령 줄 인수로 무엇을 전달하고 싶습니까? 파일 이름? 쉽습니다 :
public static void main(String[] args)
{
// Insert error checking here (e.g. args.length == 0)
String note = args[0]; // For the first argument
// Rest of code here
}
만약 그렇다면 ~ 아니다 당신이 의미하는 바, 질문을 편집하여 명확히하십시오.
제목으로 판단하면 짐 대신 파일에서 System.in
. 이 경우, 당신은 File
물체 또는 an InputStream
(와 같은 FileInputStream
) 또는 실제로 a Readable
(와 같은 InputStreamReader
). 당신이 통과하려면 a File
또는 InputStream
, 나는 당신이 캐릭터 인코딩 이름을 전달하는 것이 좋습니다. (왜 그것이 그것을 Charset
저를 넘어서지만 Java API는 인코딩과 관련하여 기본적으로 꽤 나쁩니다.)
제휴하지 않습니다 StackOverflow