Re: Reading a text file
On Feb 11, 10:42 pm, Eric Sosman <esos...@ieee-dot-org.invalid> wrote:
On 2/11/2011 9:55 PM, bruce wrote:
On Feb 11, 9:51 pm, Eric Sosman<esos...@ieee-dot-org.invalid> wrote:
On 2/11/2011 9:26 PM, bruce wrote:
I am reading a file with
BufferedReader reader = null;
StringBuffer contents = new StringBuffer();
while ((text = reader.readLine()) != null) {
contents.append(text)
.append(System.getPropert=
y(
);
}
This code reads the file fine. My problem is that when I put the d=
ata
into a text, it is displayed with a space character before ever
character. (bruce => b r u c e)
What am I doing wrong??
Something in the "it is displayed" code would be my guess.
This is how I am displaying the input text:
txtText.setText(contents.toString());
Is that the wrong way to insert the file data (contents) into the text
area (txtText)?
Sorry: I can't get your code to compile, much less run and
exhibit desirable or undesirable behavior.
(In other words, STOP dripping your code out line by line by
incomplete out-of-context line! "Doctor, it hurts!" "What hurts?"
"Even worse than yesterday!" Please provide code that is SHORT and
SELF-CONTAINED and COMPLETE and COMPILABLE. Yes, including the
package and imports and class lines: Something someone who feels like
being helpful can dump AS IS through his Java compiler and see what
happens. I can't debug what I can't see. Stop teasing!)
--
Eric Sosman
esos...@ieee-dot-org.invalid
I am sorry but including all the code is hard to do. I am using
NetBeans and it generates a lot of support code.
I don't now if you can compile it or not. This program is a test
program to teach me how to use the JFileChooser.
I know you're trying to help and I do appreciate it.. This is the best
I can do. It does include the NetBeans generated code.
package VitalRecords;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
/**
*
* @author Bruce
*/
public class VitalRecords extends JFrame {
JFileChooser fc;
BufferedReader reader = null;
StringBuffer contents = new StringBuffer();
/** Creates new form VitalRecords */
public VitalRecords() {
initComponents();
fc = new JFileChooser();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane();
txtText = new javax.swing.JTextArea();
lblFileName = new javax.swing.JLabel();
jMenuBar1 = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();
mnuOpenFile = new javax.swing.JMenuItem();
jMenu2 = new javax.swing.JMenu();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
txtText.setColumns(20);
txtText.setRows(5);
jScrollPane1.setViewportView(txtText);
lblFileName.setText("File Name: ");
jMenu1.setText("File");
mnuOpenFile.setText("Open File");
mnuOpenFile.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent
evt) {
mnuOpenFileActionPerformed(evt);
}
});
jMenu1.add(mnuOpenFile);
jMenuBar1.add(jMenu1);
jMenu2.setText("Edit");
jMenuBar1.add(jMenu2);
setJMenuBar(jMenuBar1);
javax.swing.GroupLayout layout = new
javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane1,
javax.swing.GroupLayout.DEFAULT_SIZE, 703, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(lblFileName)
.addContainerGap(625, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(13, 13, 13)
.addComponent(lblFileName)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement=
..UNRELATED)
.addComponent(jScrollPane1,
javax.swing.GroupLayout.DEFAULT_SIZE, 357, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
private void mnuOpenFileActionPerformed(java.awt.event.ActionEvent
evt) {
int returnVal = fc.showOpenDialog(VitalRecords.this);
System.out.println(returnVal);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
String fileLabel = lblFileName.getText();
String fileName = fc.getName(file);
lblFileName.setText(fileLabel + fileName);
try {
reader = new BufferedReader(new FileReader(file));
} catch (FileNotFoundException ex) {
Logger.getLogger(VitalRecords.class.getName()).log(Level.SEVERE, null,
ex);
}
String text = null;
try {
while ((text = reader.readLine()) != null) {
contents.append(text)
.append(System.getProperty(
"line.separator"));
}
} catch (IOException ex) {
Logger.getLogger(VitalRecords.class.getName()).log(Level.SEVERE, null,
ex);
}
txtText.setText(contents.toString());
System.out.println(contents.toString());
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new VitalRecords().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JMenu jMenu1;
private javax.swing.JMenu jMenu2;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JLabel lblFileName;
private javax.swing.JMenuItem mnuOpenFile;
private javax.swing.JTextArea txtText;
// End of variables declaration
}