2015-06-10 5 views
0

ОтветКак изменить программу чтения файлов на сканер каталога?

System.out.print("Enter the name of the directory:"); 
File a= new File((new BufferedReader(new 
InputStreamReader(System.in))) .readLine()); 
File[] b=a.listFiles(); 
for(int i=1;i < b.length;i++){ 
fn=b[i].getPath(); } 

Проблема

System.out.print("Enter the name of file: "); 
fn = (new BufferedReader(new InputStreamReader(System.in))) 
     .readLine(); 

Я попытался

File[] file Array=new File(System.in).listFiles(); 
for(File f: fileArray) // loop through all files { 
    if(f.getName().endsWith(".fasta")){ 
    fn = (new BufferedReader(new InputStreamReader(fileArray)).readLine()); // to read the files }}` 

но получаю ошибку конструктора File (InputStream) не определено

Я хочу изменить Fn в каталог. Как выполнить итерацию через каталог, поддерживающий Buffered Reader и InputStreamReader?

+2

Можете ли вы привести пример того, чего вы пытаетесь достичь (и избежать проблемы с XY) (http://meta.stackexchange.com/questions/66377/what-is-the -xy-problem), почему вы думаете, что вам нужно это делать)? – Pshemo

+0

В 'fn' вы получили' String' с пользовательским вводом. Если это правильное имя файла или правильный путь, вы можете просто использовать 'new File (fn)'. Этот файловый объект может использоваться для работы с файловой системой. PS Вы не можете использовать текущие 'BufferedReader' и' InputStreamReader' - у них нет собственной переменной объекта и они не участвуют в работе с файловой системой. –

+0

Я читал в fn как местоположение файла. Я использую это для чтения последовательности fasta. Я попробовал 'System.out.print (« Введите имя файла: »); \t \t \t Файл [] fileArray = новый файл (System.in) .listFiles(); \t \t \t п = (новый BufferedReader (новый InputStreamReader (е)) \t \t \t \t \t .readline(); 'но получить ошибку _The конструктора File (InputStream) является undefined_ @Pshemo –

ответ

0

Я вижу, что вы хотите прочитать содержимое в другой файл ...

следующие классы используются для записи/чтения данных в файлы. FileOutputStream, FileInputStream;

, как вы можете видеть, FileOuputStream используется в записи данных в файл и FileInputStream используется при чтении данных из файла.

данные могут быть текст, изображения, видео и т.д.

вы можете создать экземпляр FileInputStream как этот

//replace the string with actual file name  
File fileToReadFrom = new File("path/to/file"); 
FileInputStream = new FileInputStream(fileToReadFrom); 

и точно так же вы создаете экземпляр FileOutputStream как это:

//replace the string with actual file name  
File fileToWriteTo= new File("path/to/file"); 
FileInputStream = new FileInputStream(fileToWriteTo); 

с примерами этих классов, которые вы можете читать и писать из/в любой файл. Вы можете почитать больше о них here

Смежные вопросы