2012-02-17 12 views
-1

現在、イントロCSクラスのJavaを学習中です。私は初心者のPythonの経験を持っています。私はeTextbookからPythonを学び、難しい方法を学んでいます(http://learnpythonthehardway.org/book/)。Java対Pythonでファイルを読む

私は、本のPythonソースをJavaソースに変換してJavaを学んでいます。

Javaのファイルを開いたり読み込んだりするのに悩まされています。私は、JavaにこのPythonコード(本の中で運動15)を変換したい:

from sys import argv 

script, filename = argv 

txt = open(filename) 

print "Here's your file %r:" % filename 
print txt.read() 

print "Type the filename again:" 
file_again = raw_input("> ") 

txt_again = open(file_again) 

print txt_again.read() 

これは私がJavaでファイルを開くために持っているものである:I出力を行う方法

System.out.println("Type the filename again: "); 
Scanner in = new Scanner(System.in); 
String file_name = in.nextLine(); 
try 
{ 
    Scanner txt_again = new Scanner(new File(file_again)); 

} 
catch (IOException e) 
{ 
    System.out.println("Sorry but I was unable to open your file"); 
    e.printStackTrace(); 
    System.exit(0); 
} 

開いたファイル(テキストファイル)?また、Javaで引数(スクリプト、ファイル名など)を追加するにはどうすればよいですか?

答えて

1

私はこのサイトで、以下のことをお勧めファイルを読み込むために:引数についてはRead File With Java.

を、私はあなたがプログラム自体に意味かはわからない(コマンドライン引数)またはスキャナで複数の入力について話しています。コマンドライン引数について話しているなら、私はそれに従うだろうOracle Docs.

幸運。あなたはスキャナーを使用して主張する場合

1

は、ここにコード

// Read each line in the file 
    while(txt_again.hasNext()) { 
     // Read each line and display its value 
    System.out.println("First line: " + txt_again.nextLine()); 
     // String whole_txt = whole_txt + txt_again.nextLine(); if you want all the contents in one string. 
} 

されていますし、文字列txt_nameとプリントアウトに割り当てることができます。

http://www.functionx.com/java/Lesson23.htm

引数を追加するために、あなたの主な機能のパラメータの一つとして String[] argsを追加します。

public static void main(String[] args) 

そして、引数として、引数にアクセスする[0]、引数[1]など

0

Googleのグアバは、行のリストにファイルを読み取るためにも、文字列にファイル全体を読み込むためのユーティリティメソッドを持っています、等

例えば、

import java.io.File; 
import java.io.IOException; 
import java.util.Scanner; 

import com.google.common.base.Charsets; 
import com.google.common.io.Files; 

class Scratch { 

    public static void main(String[] args) throws IOException { 
     final String filename = args[0]; 

     final File txt = new File(filename); 

     System.out.println("Here's your file: " + filename); 
     System.out.println(Files.toString(txt, Charsets.UTF_8)); 

     System.out.print("Type the filename again: "); 

     final String fileAgain = new Scanner(System.in).nextLine(); 

     final File txt_again = new File(fileAgain); 
     System.out.println(Files.toString(txt_again, Charsets.UTF_8)); 
    } 
}