Reading multiple files
Can i read multiple files into a bufferedReader?
malcolmmc wrote:
You can use:
for(int i = 0; i < args.length; i++) {
String fileName = args;
(Or, better, upgrade your JDK).
No "or" here. The OP is writing code that doesn't compile, regardless of the Java version.
Similar Messages
-
Read multiple files and write data on a single file in java
Hello,
I am facing difficulty that I want to read multiple files in java and write their data to a single file. Means Write data in one file from multiple files in java
Please help me out.
Naveed.algorithm should be something like:
File uniqueFile = new File();
for (File f : manyFilesToRead)
while (readingF)
write(dataFromF, intoUniqueFile); -
Unable to read multiple files in BODS
hi all,
i am unable to read multiple files [with same format of fields] using wild card characters in file name.
scenario:
i have 2 files: test1.xlsx & test2.xlsx
in the excel file format, for the file name column, i have given test*.xlsx.
and done the direct mapping to target column.
but when i run the job i am getting below error.
at com.acta.adapter.msexceladapter.MSExcelAdapterReadTable.ReadAllRows(MSExcelAdapterReadTable.java:1242)
at com.acta.adapter.msexceladapter.MSExcelAdapterReadTable.readNext(MSExcelAdapterReadTable.java:1285)
at com.acta.adapter.sdk.StreamListener.handleBrokerMessage(StreamListener.java:151)
at com.acta.brokerclient.BrokerClient.handleMessage(BrokerClient.java:448)
at com.acta.brokerclient.BrokerClient.access$100(BrokerClient.java:53)
at com.acta.brokerclient.BrokerClient$MessageHandler.run(BrokerClient.java:1600)
at com.acta.brokerclient.ThreadPool$PoolThread.run(ThreadPool.java:100)
please let me know if there is any solution to this.
regards,
SwethaHi,
i just copied a xlsx file with 3 different names (Test_Data.xlsx, Test_1.xlsx, Test_2.xlsx) and tried with below options and it worked for me.
Note: I tried on the same OS and DS 4.1 SP2(14.1.2.378)versions. In Linux File names are case sensitive. -
FTP Adapter to read multiple files from a directory. Not through polling.
Dear Friends,
I would like to know is it possible to configure the FTP adapter in Oracle BPEL 10.1.3.4 to read multiple files (different names, same structure) from a given directory. I do not want the BPEL to do a polling. Instead when I submit the BPEL process it should read all files from the directory.
I was looking at the option of Synchronous read but I am not able to specify wild card in the file name field. I do not know the file names at the time of reading.
Thanks for your help!Hi,
While you read the file, you can configure an adapter property in 'Receive'. This will store the filename, this filename can be used for sync read as the input parameter.
1. Create a message type variable called 'fileheader'. This should be of type Inboundheader_msg (whatever relevant Receive activity).
2. This variable will contain three parts - filename, FTPhost, FTPPort
3. Copy this fileheader to 'Syncheader'.
4. syncheader can be passed as an adapter proerty during sync read of the file.
During Receive and Invoke, you need to navigate to 'Adapter' tab to choose the created message type variable.
Let me know if you have further questions.
regards,
Rev -
Read multiples files with same extension
how to read multiples files with same extension in java.
for ex : i would like to read all .DAT files from C drive using java.
How is it done- You create the filter
- You get the list of files
- You open and read each file.
For the first two above you look at java.io.File and listFiles(FileFilter filter).
For the third you find whatever input stream is appropriate from java.io.* -
To read multiple files in sample folder
How to read multiple files in a same folder?.
can you give me some guidance?.Additionally,
1. Use methods of the File class to create an array
of the file names
2. Stop reading when at the end of the array.That assumes you want all the files in the directory.
If not, just pass in an array containing the names of the desired files. -
How to read multiple files of a specified format from a selected folder?
i want to read multiple files of specified format from a selected folder, even if the selected folder contains multiple sub-folders, is it possible, if so please provide me a sample.
try this:
foreach (string dirPath in Directory.GetDirectories(WriteYourPathHere, "*",SearchOption.AllDirectories))
string[] files = System.IO.Directory.GetFiles(dirPath, "*.txt");
//loop over files array and do what you want with .txt files picked up during the loop
OR in one line also:
foreach (string file in Directory.GetFiles(WriteYourPathHere,
"*.txt", SearchOption.AllDirectories))
Fouad Roumieh -
Read multiple files and save all into one output file(AGAIN)
Hi, guys
I need your help for reading data from multiple files and save the results into one output file. When files are selected from file chooser, my program read the data line by line , do some calculations and save the result into the output. I made an array to store input files and it seems to be working fine, but when it comes to SaveFile() function, issues NullPointException message.
public class FileReduction1 extends JFrame implements ActionListener
// GUI definition and layout
/* ACTION PERFORMED */
public void actionPerformed(ActionEvent event) {
if (event.getActionCommand().equals("Open File")) getFileName();
/* OPEN THE FILE */
private void getFileName() {
// Display file dialog so user can select file to open
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
fileChooser.setMultiSelectionEnabled(true);
int result = fileChooser.showOpenDialog(this);
// If cancel button selected return
if (result == JFileChooser.CANCEL_OPTION) return;
if (result == JFileChooser.APPROVE_OPTION)
files = fileChooser.getSelectedFiles();
textArea.setText("");
if(files.length>0)
filelist="";
System.out.println("files length"+files.length);
for(int i=0;i<files.length;i++)
System.out.println(files.getName());
filelist+=files[i].getName()+" ,";
if (checkFileName(files[i]) )
openButton.setEnabled(true);
readButton.setEnabled(true);
textArea.append("file "+files[i].getName()+"is a proper file"+"\n");
readFile(files[i]);
textfield.setText(filelist);
else{JOptionPane.showMessageDialog(this,"Please select file(s)",
"Error 5: ",JOptionPane.ERROR_MESSAGE); }
// Obtain selected file
/* READ FILE */
private void readFile(File fileName_in) {
// Disable read button
readButton.setEnabled(false);
// Dimension data structure
getNumberOfLines(fileName_in);
data = new String[numLines][4];
// Read file
readTheFile(fileName_in);
// Rnable open button
openButton.setEnabled(true);
/* GET NUMBER OF LINES */
/* Get number of lines in file and prepare data structure. */
private void getNumberOfLines(File fileName_in) {
int counter = 0;
// Open the file
openFile(fileName_in);
// Loop through file incrementing counter
try {
String line = fileInput.readLine();
while (line != null) {
counter++;
System.out.println("(" + counter + ") " + line);
line = fileInput.readLine();
numLines = counter;
closeFile(fileName_in);
catch(IOException ioException) {
JOptionPane.showMessageDialog(this,"Error reading File",
"Error 5: ",JOptionPane.ERROR_MESSAGE);
closeFile(fileName_in);
System.exit(1);
/* READ FILE */
private void readTheFile(File fileName_in)
// Open the file
//int row=0;
int col=0;
openFile(fileName_in);
System.out.println("Read the file");
// Loop through file incrementing counter
try
String line = fileInput.readLine();
while (line != null)
boolean containsDoubles = false;
double temp;
String[] lineParts = line.split("\t");
try
for (col=0;col<lineParts.length;col++)
temp=Double.parseDouble(lineParts[col]);
data[row][col] = lineParts[col];
containsDoubles = true;
System.out.print("data["+row+"]["+col+"]="+lineParts[col]+" ");
} catch (Exception e) {row=0; col=0; temp=0.0;}
if (containsDoubles){ row++;}
System.out.println();
line = fileInput.readLine();
catch(IOException ioException)
JOptionPane.showMessageDialog(this,"Error reading File", "Error 5: ",JOptionPane.ERROR_MESSAGE);
closeFile(fileName_in);
System.exit(1);
//System.out.println("length"+data.length);
closeFile(fileName_in);
process(fileName_in);
/* CHECK FILE NAME */
/* Return flase if selected file is a directory, access is denied or is
not a file name. */
private boolean checkFileName(File fileName_in) {
if (fileName_in.exists()) {
if (fileName_in.canRead()) {
if (fileName_in.isFile()) return(true);
else JOptionPane.showMessageDialog(null,
"ERROR 3: File is a directory");
else JOptionPane.showMessageDialog(null,
"ERROR 2: Access denied");
else JOptionPane.showMessageDialog(null,
"ERROR 1: No such file!");
// Return
return(false);
/* OPEN FILE */
private void openFile(File fileName_in) {
try {
// Open file
FileReader file = new FileReader(fileName_in);
fileInput = new BufferedReader(file);
catch(IOException ioException) {
JOptionPane.showMessageDialog(this,"Error Opening File",
"Error 4: ",JOptionPane.ERROR_MESSAGE);
textArea.append("OPEN FILE\n---------\n");
textArea.append(fileName_in.getPath());
textArea.append("\n");
//System.out.println("File opened successfully");
/* CLOSE FILE */
private void closeFile(File fileName_in) {
if (fileInput != null) {
try {
fileInput.close();
catch (IOException ioException) {
JOptionPane.showMessageDialog(this,"Error Opening File",
"Error 4: ",JOptionPane.ERROR_MESSAGE);
System.out.println("File closed");
private void process(File fileName_in) {
//getNumberOfLines();
//data = new String[numLines][3];
// Read file
double temp,temp1;
//readTheFile();
//System.out.println("row:"+row);
//int number=data.length;
//System.out.println(number);
for (int i=0; i<row; i++)
temp=Double.parseDouble(data[i][1]);
sumx+=temp;
temp1=Double.parseDouble(data[i][3]);
sumy+=temp1;
multixy+=(temp*temp1);
square_x_sum+=(temp*temp);
square_y_sum+=(temp1*temp1);
//System.out.println("Sum(x)="+sumx);
double tempup=(row*multixy)-(sumx*sumy);
double tempdown=(row*square_x_sum)-(sumx*sumx);
slope=tempup/tempdown;
double tempbup=sumy-(slope*sumx);
intb=tempbup/row;
double tempside=(row*square_y_sum)-(sumy*sumy);
double cordown=Math.sqrt(tempdown*tempside);
corr=tempup/cordown;
r_sqrt=corr*corr;
textArea.append("Data for file"+ fileName_in.getName()+" have been processed successfully.");
textArea.append("\n");
textArea.append("Please enter output file name including extension.");
System.out.println("number"+row);
System.out.println("slope(m)="+slope);
System.out.println("intecept b="+intb);
System.out.println("correlation="+corr);
System.out.println("correlation="+r_sqrt);
saveFile();
private void saveFile()
textArea.append("SAVE FILE\n---------\n");
if (openFile1())
try {
outputToFile();
catch (IOException ioException) {
JOptionPane.showMessageDialog(this,"Error Writing to File",
"Error",JOptionPane.ERROR_MESSAGE);
private boolean openFile1 ()
// search for the file path
StringBuffer stringpath;
title=textfield1.getText().trim();
int temp=fileName_in.getName().length();
int temp_path=fileName_in.getPath().length();
int startd=(temp_path-temp);
stringpath=new StringBuffer(fileName_in.getPath());
stringpath.delete(startd, temp_path+1);
//System.out.println("file-path="+temp_path);
//System.out.println("length-file="+temp);
path=stringpath.toString();
fileName_out = new File(path, title);
//System.out.println(file_out.getName());
if (fileName_out==null || fileName_out.getName().equals(""))
JOptionPane.showMessageDialog(this,"Invalid File name",
"Invalid File name",JOptionPane.ERROR_MESSAGE);
return(false);
else
try
boolean created = fileName_out.createNewFile();
if(created)
fileOutput = new PrintWriter(new FileWriter(fileName_out));
fileOutput.println("File Name"+"\t"+"Slope(m)"+"\t"+"y-intercept(b)"+"\t"+"Coefficient(r)"+"\t"+"Correlation(R-Squared)");
return(true);
else
fileOutput = new PrintWriter(new FileWriter(fileName_out,true));
return(true);
catch (IOException exc)
JOptionPane.showMessageDialog(this,"Please enter the file name","Error",JOptionPane.ERROR_MESSAGE);
return(false);
private void outputToFile() throws IOException
// Initial output
textArea.append("File name = " + fileName_out + "\n");
// Test if data exists
if (data != null)
fileOutput.println(fileName_in.getName() +"\t"+ slope+"\t"+intb+"\t"+corr+"\t"+r_sqrt);
textArea.append("File output complete\n\n");
else
textArea.append("No data\n\n");
// End by closing file
initialcomp();
fileOutput.close();
private void initialcomp()
slope=0.0;
intb=0.0;
corr=0.0;
r_sqrt=0.0;
sumx=0.0; sumy=0.0; multixy=0.0; square_x_sum=0.0; square_y_sum=0.0;
for(int i=0;i<data.length;i++)
for(int j=0;j<data[i].length;j++)
data[i][j]=null;
/* MAIN METHOD */
public static void main(String[] args) throws IOException
// Create instance of class FileChooser
FileReduction1 newFile = new FileReduction1("File Reduction Program");
// Make window vissible
newFile.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
newFile.setSize(500,400);
newFile.setVisible(true);
Sorry about the long lines.
As you can see, all input files saved in array called files, however when OpenFile1() function is called, it take input (fileName_in) as a single file not an array. I'm assuming this causes the exception.
When there's muptiple inputs, program should take each file from getFileName() to outputToFile() sequentially.
Does anybody have an idea to solve this?
Thanks a lot!!you naming convention is confussing. you should follows Java naming convention..you have a getXXX but decalred the return type as "void"...get usully means to return something...
your code is doing too much..and hard to follows..
1. get the selected files
for each selected file
process the file and return the result
write out the result.
/** close the precious resource */
public void closeResource(Reader in){
if (in != null){
try{ in.close(); }
catch (Exception e){}
/** get the total number of line in a file */
public int getLineCount(File file) throws IOException{
BufferedReader in = null;
int lineCount = 0;
try{
in = new BufferedReader(new FileReader(file));
while ((in.readLine() != null)
lineCount++;
return lineCount;
finally{ closeResource (in); }
/** read the file */
public void processFile(File inFile, File outFile) throws IOException{
BufferedReader in = null;
StringBuffer result = new StringBuffer();
try{
in = new BufferedReader(new FileReader(inFile));
String line = null;
while ((in.readLine() != null){
.. do something with the line
result.append(....);
writeToFile(outFile, result.toString());
finally{ closeResource (in); }
public void writeToFile(File outFile, String result) throws IOException{
PrintWriter out = null;
try{
out = new PrintWriter(new FileWriter(outFile, true)); // true for appending to the end of the file
out.println(result);
finally{ if (out != null){ try{ out.close(); } catch (Exception e){} } }
} -
How to read multiple files at multiple locations using properties file
hi all ,
in my code i take configuration input from a properties file ,it was really easy but what if there are multiple files ? how can i take configuration input (file path etc) from properties file in that case ? any suggestion ?thanks :) ..i am doing like this :
String fName[]=new String[10];
String choice[]=new String[10];
String Delim[]=new String[10];
ResourceBundle a = ResourceBundle.getBundle("input");
String n=a.getString("NOF");
try
for(int i=0;i<Integer.parseInt(n);i++)
fName=a.getString("PATH"+(i+1));
choice[i]=a.getString("HEADER"+(i+1));
Delim[i]=a.getString("DELIMITER"+(i+1));
putData(fName[i],choice[i],Delim[i]);//to put data in database
catch (NumberFormatException e)
System.out.println("Number of files are invalid");
hope this method would be fine ....again thanks for the advice :) :) -
How to read multiple files of different name using single file adapter
There are two inbound locations inbound1 and inbound2 , and the files structure present in these two inbound locations are same but the files start with different names example
(1)files in inbound1 starts with file1,file2...
(2)files in inbound2 starts with abc1,abc2...
by using same file adapter with read option how can i read both files....Hi K.A.N.N.,
You can define multiple directories using the above link in 11g and poll for the file as \*.*.
Alternatively you can use the Synchronous Read and specify the file name at runtime.
You can also use Pick activity to define multiple branches each with a File Adapter to read from a specified location with specified file name. Although it would contain multiple Adapter Definitions at Development-time, only one of the Adapters will execute at Run-Time.
Regards,
Neeraj Sehgal -
Reading Multiple files of same kind wth File adapter urgnt plz solve this.
Hi evry one
i am new to BPEL and i am in need of file adapter functionality. I have a folder which has files of naming convention
NSD 123-222 090714T01:23:23 if i suppose i have some hundred files in that folder and i am pointing the file adapter to read files from that folder.The pois all the files have same naming convention with different time stamp and at the same time if all the files have same start name all of the files get picked up at the same time my concern here is if i want to process each file in a while loop as soon as the file get picked up according to the target schema.what can be the condition inthe while loop so that each file gets processed in the loop.
Is there any process where i can count the number of files in the folder so that i can make use of that count in the while process.The files in the folder are in xml format these multiple files of same target schema.
please help me in figuring out this issue.
Regards,
PThere is no direct solution in my opinion. What you can do is - write some java code (either embedded activity or through WSIF). In this code you access the directory and count the files, return that count to your bpel process...then use the while loop with sync read
-
How to read multiple files and generate multiple files
Dear all, I would like to process some LTE measurement files. Currently I can only load a single file and process the data and save it to a single binary file. Since I would like to run the code continously, could someone show me how I can modify the code to load multiple files and specify multiple files to save the process the data please? I have attached the code to the question. Many thanks for your help.
Attachments:
RF Analyze IQ File.vi 46 KBThere is no official "bin" format and I am confused by some of your statements:
Kiwibunny wrote:
Currently I can only load a single file and process the data and save it to a single binary file. Since I would like to run the code continously, could someone show me how I can modify the code to load multiple files and specify multiple files to save the process the data please? I have attached the code to the question. Many thanks for your help.
What you could do is use "list folder" with *.bin as pattern, and use a FOR loop and iterate over all *.bin files found in a selected folder.
In any case, your code uses some weird constructs and you seem to do way to much. Are you using "continuous run" mode? Don't!
Use a proper state machine instead ot these stalling loops. Why do you need to query the queue after each enqueue? Why do you need a queue at all?
LabVIEW Champion . Do more with less code and in less time . -
Reading multiples files from a folder and processing
Hello everyone,
Im working on a project to analyst and process Acoustic Emission Signals. My problem is that I have a folder that containts several files .txt. Every file contains 16 waveforms (16 channels) that I need to process with an equation to detect the arrival times of the waves.
I have been working in this way : Running the labview code that open the file that I select .. then the processing happens on every wave and I click stop to select the file where I want to save the solutions. The solutions is only a vector of the 16 arrival times detected. Then I have to stop the code (by clicking Abort Execution) and repeat the process ... Run the code and bla bla bla .. and save on the same solution file that I used before.
The ideal situation is to read the files whitout stoping the execution of the code .. For example clicking a buttom to pass to the next file and saving all the solutions to the same file. That is beacause sometimes Im going to have more than a 100 files and this will give me a hard time if a forget in which file I was working. The idea is to make an automatic process.
Please .. I have been trying to find a solution to this while Im working in other part of the code. If someone could suggest me a solution it would be great.
Thanks.Hello everyone,
Well Im sorry if I didn't post my .vi ... I was working on it ... and I found a solution (whit some help that I found on the forums) but Im not happy at all ... because I still have to give the last part of the file name.
For example at the beginning I have to input the file name without the final number of the event ...
C:\Users\Irish\Desktop\Hydraulic Fracturing\E1_evento
then I finish adding the file number that I want to process on the folder
C:\Users\Irish\Desktop\Hydraulic Fracturing\E1_evento2.txt or 9.text or ... just the number ...
This is the case when I want to process every file specifying the file .. but what could you suggest me to do process all the data file by file ?
I attached the part of the code that Im using for this specific problem ...
Im using Labview 8.5
Thanks ...
Message Edited by Alvaro_Ortiz on 08-26-2009 03:14 PM
Attachments:
MultReadFiles.vi 58 KB -
Problem while reading multiple files through FTP Adapter
Hi,
We have a requirement to read the excel files placed in an FTP Location and as there is no Adapter to read Excel file
we are using FTP Adapter and reading the Header values of the file(name of the
file) and we are paasing as input to the Java code which will read the data nd insert into the Database.
If we place above 20 files it was reading only some files and some were left and if we delete the files and place the unread files again some files are read and if we do the same procedure then all the files were read.
Any help regaring this appreciated.
Thanks and Regards,
Nagaraju .DAre you doing anything complex for your polling, e.g. Files that must be n time old.
Can you post the WSDL so I can see the polling configuration. I only need to see the adapter configuration, not the whole file.
cheers
James -
How to read multiple files in the same folder?
Suppose I have 100 txt files in the same folder, and I want to read them one by one. (order is not important). File name is also part of the information I want.
How to do that?
ThanksYou need to use the directory to create a File (use the path name, w/o a file name). Then you need to ask for a list() (array of String containing name). To do that you'll need to implement the FilenameFilter interface, writing an accept() method that returns true if the file's name ends with ".txt".
If that's not perfectly clear, try the java.io API docs and return more specific questions.
Maybe you are looking for
-
Account 'Cost elem. for settlmt AuC to CO objects' could not be found for a
Hi All, we are facing one error massage at the time of settlment KO88. Account 'Cost elem. for settlmt AuC to CO objects' could not be found for area 01 Message no. AU133 Diagnosis When creating the accounting document, the system could not find acco
-
Mac SE FDHD with dead HDD - boot and run from floppy drive alone? HDD type?
Hello! I picked up a Mac SE FDHD a few months back - a model with a Superdrive and hard drive, as well as 4 MB of RAM. It came with a keyboard and mouse, but no floppies of any kind. Upon testing, I discovered that the hard drive did not work - the "
-
How to change slider control digital display precision from program
I want to change slider control digital display precision from my Labview 2013 program. I can not find property that changes slider digital display format. Solved! Go to Solution.
-
Write Up Depreciation Concept needed to be Clear !
Hi, All Experts , Can anyone clear me the Write Up Depreciation Concept with example and scenario ? I am confused between normal depreciation & Write Up depreciation. Your help is highly appreciated. Thanks in advance ! Regards, Pankaj.
-
AOL Desktop (PC) to AOL Desktop for Mac - Transferring Saved Emails
I just installed AOL Desktop for Mac and I'm trying to transfer my emails. There's no issue setting up the accounts and accessing my emails Saved on AOL, but I cannot access my emails Saved on my PC. The software doesn't have any feature to transfer