Welcome to the Java Programming Forums


The professional, friendly Java community. 21,500 members and growing!


The Java Programming Forums are a community of Java programmers from all around the World. Our members have a wide range of skills and they all have one thing in common: A passion to learn and code Java. We invite beginner Java programmers right through to Java professionals to post here and share your knowledge. Become a part of the community, help others, expand your knowledge of Java and enjoy talking with like minded people. Registration is quick and best of all free. We look forward to meeting you.


>> REGISTER NOW TO START POSTING


Members have full access to the forums. Advertisements are removed for registered users.

Results 1 to 11 of 11

Thread: outputing to a text file from sound API

  1. #1
    Junior Member
    Join Date
    Mar 2010
    Posts
    28
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Default outputing to a text file from sound API

    Hi,

    I am experimenting with the java sound API.

    I came across a nice program that has been made to record a stream of audio in computer memory and which is stored as an array of type byte.

    The capture portion of the program captures audio data from the microphone and stores it in a ByteArrayOutputStream object.

    I am not familiar however with outputing text files in java.

    I was wondering how to go about outputing the captured audio samples are stored in a text file once the playback button is pressed.

    The source code of the program is at Java Sound, Getting Started, Part 1, Playback — Developer.com


    Basically the code on that website saves the recorded data in memory. I would like to add some simple code that adds the recorded sampled audio data consists of a sequence of bytes to a simple text file.

    I would then like to use the outputed data to analyse them in excel.

    Thus basically i want to have the software to output the sampled data to a text file, preferebly with a fresh like after each output so that i can load them individually in excel.


    Input data from a microphone is captured and saved in a ByteArrayOutputStream object when the user clicks the Capture button.

    Data capture stops when the user clicks the Stop button.

    Playback begins when the user clicks the Playback button.

    The most relevant code is this

     //This method captures audio input
      // from a microphone and saves it in
      // a ByteArrayOutputStream object.
      private void captureAudio(){
        try{
          //Get everything set up for
          // capture
          audioFormat = getAudioFormat();
          DataLine.Info dataLineInfo =
                    new DataLine.Info(
                      TargetDataLine.class,
                       audioFormat);
          targetDataLine = (TargetDataLine)
                       AudioSystem.getLine(
                             dataLineInfo);
          targetDataLine.open(audioFormat);
          targetDataLine.start();
     
          //Create a thread to capture the
          // microphone data and start it
          // running.  It will run until
          // the Stop button is clicked.
          Thread captureThread =
                    new Thread(
                      new CaptureThread());
          captureThread.start();
        } catch (Exception e) {
          System.out.println(e);
          System.exit(0);
        }//end catch
      }//end captureAudio method

    Any help?

    Thanks
    Last edited by bondage; April 13th, 2010 at 06:31 AM.


  2. #2
    Junior Member
    Join Date
    Mar 2010
    Posts
    28
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Default Re: outputing to a text file from sound API

    Hi,

    from research i have done, the best thing is to use filewriter to output as integer to a text file (maybe using a for next loop) that cathes the audio data bytes in the ByteArrayOutputStream object.

    The output will be a stream of integers which that i can use to work with in MATLAB.

    Thanks

  3. #3
    mmm.. coffee JavaPF's Avatar
    Join Date
    May 2008
    Location
    United Kingdom
    Posts
    3,336
    My Mood
    Mellow
    Thanks
    258
    Thanked 294 Times in 227 Posts
    Blog Entries
    4

    Default Re: outputing to a text file from sound API

    Hello bondage, welcome to the forums.

    This link should help you with writing to a text file: http://www.javaprogrammingforums.com...sing-java.html
    Please use [highlight=Java] code [/highlight] tags when posting your code.
    Forum Tip: Add to peoples reputation by clicking the button on their useful posts.

  4. #4
    Junior Member
    Join Date
    Mar 2010
    Posts
    28
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Default Re: outputing to a text file from sound API

    Many many thanks for your reply! I really appreciate tou took time to reply to me.

    One final question if i may.

    When you say "Whatever string you want here" in the post below
    http://www.javaprogrammingforums.com...sing-java.html

    Are you referring to the string i want to output as a text file?

    Also, where can i put the code? Is it in a separate class or in the main method as a function?

    The thing is that i have a byteArrayOutputStream array and i would like to output it as a text file. Actually what it does is records data, but i will use the output and manupulate it in MATLAB.



    Thanks

  5. #5
    mmm.. coffee JavaPF's Avatar
    Join Date
    May 2008
    Location
    United Kingdom
    Posts
    3,336
    My Mood
    Mellow
    Thanks
    258
    Thanked 294 Times in 227 Posts
    Blog Entries
    4

    Default Re: outputing to a text file from sound API

    Quote Originally Posted by bondage View Post

    When you say "Whatever string you want here" in the post below
    http://www.javaprogrammingforums.com...sing-java.html

    Are you referring to the string i want to output as a text file?
    Yes that is the output String.

    Quote Originally Posted by bondage View Post
    Also, where can i put the code? Is it in a separate class or in the main method as a function?

    The thing is that i have a byteArrayOutputStream array and i would like to output it as a text file. Actually what it does is records data, but i will use the output and manupulate it in MATLAB.
    I'll take a look at the source on that web page and see what I can come up with.
    Please use [highlight=Java] code [/highlight] tags when posting your code.
    Forum Tip: Add to peoples reputation by clicking the button on their useful posts.

  6. #6
    mmm.. coffee JavaPF's Avatar
    Join Date
    May 2008
    Location
    United Kingdom
    Posts
    3,336
    My Mood
    Mellow
    Thanks
    258
    Thanked 294 Times in 227 Posts
    Blog Entries
    4

    Default Re: outputing to a text file from sound API

    It looks like the data is stored in the tempBuffer[] array. You can add the file writing code here in the CaptureThread thread:
    /*File AudioCapture01.java
     This program demonstrates the capture
     and subsequent playback of audio data.
     
     A GUI appears on the screen containing
     the following buttons:
     Capture
     Stop
     Playback
     
     Input data from a microphone is
     captured and saved in a
     ByteArrayOutputStream object when the
     user clicks the Capture button.
     
     Data capture stops when the user clicks
     the Stop button.
     
     Playback begins when the user clicks
     the Playback button.
     
     Tested using SDK 1.4.0 under Win2000
     **************************************/
     
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import javax.sound.sampled.*;
     
    public class AudioCapture01 extends JFrame {
     
    	boolean stopCapture = false;
    	ByteArrayOutputStream byteArrayOutputStream;
    	AudioFormat audioFormat;
    	TargetDataLine targetDataLine;
    	AudioInputStream audioInputStream;
    	SourceDataLine sourceDataLine;
     
    	public static void main(String args[]) {
    		new AudioCapture01();
    	}// end main
     
    	public AudioCapture01() {// constructor
    		final JButton captureBtn = new JButton("Capture");
    		final JButton stopBtn = new JButton("Stop");
    		final JButton playBtn = new JButton("Playback");
     
    		captureBtn.setEnabled(true);
    		stopBtn.setEnabled(false);
    		playBtn.setEnabled(false);
     
    		// Register anonymous listeners
    		captureBtn.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				captureBtn.setEnabled(false);
    				stopBtn.setEnabled(true);
    				playBtn.setEnabled(false);
    				// Capture input data from the
    				// microphone until the Stop
    				// button is clicked.
    				captureAudio();
    			}// end actionPerformed
    		}// end ActionListener
    				);// end addActionListener()
    		getContentPane().add(captureBtn);
     
    		stopBtn.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				captureBtn.setEnabled(true);
    				stopBtn.setEnabled(false);
    				playBtn.setEnabled(true);
    				// Terminate the capturing of
    				// input data from the
    				// microphone.
    				stopCapture = true;
    			}// end actionPerformed
    		}// end ActionListener
    				);// end addActionListener()
    		getContentPane().add(stopBtn);
     
    		playBtn.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				// Play back all of the data
    				// that was saved during
    				// capture.
    				playAudio();
    			}// end actionPerformed
    		}// end ActionListener
    				);// end addActionListener()
    		getContentPane().add(playBtn);
     
    		getContentPane().setLayout(new FlowLayout());
    		setTitle("Capture/Playback Demo");
    		setDefaultCloseOperation(EXIT_ON_CLOSE);
    		setSize(250, 70);
    		setVisible(true);
    	}// end constructor
     
    	// This method captures audio input
    	// from a microphone and saves it in
    	// a ByteArrayOutputStream object.
    	private void captureAudio() {
    		try {
    			// Get everything set up for
    			// capture
    			audioFormat = getAudioFormat();
    			DataLine.Info dataLineInfo = new DataLine.Info(
    					TargetDataLine.class, audioFormat);
    			targetDataLine = (TargetDataLine) AudioSystem.getLine(dataLineInfo);
    			targetDataLine.open(audioFormat);
    			targetDataLine.start();
     
    			// Create a thread to capture the
    			// microphone data and start it
    			// running. It will run until
    			// the Stop button is clicked.
    			Thread captureThread = new Thread(new CaptureThread());
    			captureThread.start();
    		} catch (Exception e) {
    			System.out.println(e);
    			System.exit(0);
    		}// end catch
    	}// end captureAudio method
     
    	// This method plays back the audio
    	// data that has been saved in the
    	// ByteArrayOutputStream
    	private void playAudio() {
    		try {
    			// Get everything set up for
    			// playback.
    			// Get the previously-saved data
    			// into a byte array object.
    			byte audioData[] = byteArrayOutputStream.toByteArray();
    			// Get an input stream on the
    			// byte array containing the data
    			InputStream byteArrayInputStream = new ByteArrayInputStream(
    					audioData);
    			AudioFormat audioFormat = getAudioFormat();
    			audioInputStream = new AudioInputStream(byteArrayInputStream,
    					audioFormat, audioData.length / audioFormat.getFrameSize());
    			DataLine.Info dataLineInfo = new DataLine.Info(
    					SourceDataLine.class, audioFormat);
    			sourceDataLine = (SourceDataLine) AudioSystem.getLine(dataLineInfo);
    			sourceDataLine.open(audioFormat);
    			sourceDataLine.start();
     
    			// Create a thread to play back
    			// the data and start it
    			// running. It will run until
    			// all the data has been played
    			// back.
    			Thread playThread = new Thread(new PlayThread());
    			playThread.start();
    		} catch (Exception e) {
    			System.out.println(e);
    			System.exit(0);
    		}// end catch
    	}// end playAudio
     
    	// This method creates and returns an
    	// AudioFormat object for a given set
    	// of format parameters. If these
    	// parameters don't work well for
    	// you, try some of the other
    	// allowable parameter values, which
    	// are shown in comments following
    	// the declarations.
    	private AudioFormat getAudioFormat() {
    		float sampleRate = 8000.0F;
    		// 8000,11025,16000,22050,44100
    		int sampleSizeInBits = 16;
    		// 8,16
    		int channels = 1;
    		// 1,2
    		boolean signed = true;
    		// true,false
    		boolean bigEndian = false;
    		// true,false
    		return new AudioFormat(sampleRate, sampleSizeInBits, channels, signed,
    				bigEndian);
    	}// end getAudioFormat
    	// ===================================//
     
    	// Inner class to capture data from
    	// microphone
    	class CaptureThread extends Thread {
    		// An arbitrary-size temporary holding
    		// buffer
    		byte tempBuffer[] = new byte[10000];
     
    		public void run() {
    			byteArrayOutputStream = new ByteArrayOutputStream();
    			stopCapture = false;
    			try {// Loop until stopCapture is set
    				// by another thread that
    				// services the Stop button.
    				while (!stopCapture) {
    					// Read data from the internal
    					// buffer of the data line.
    					int cnt = targetDataLine.read(tempBuffer, 0,
    							tempBuffer.length);
    					if (cnt > 0) {
    						// Save data in output stream
    						// object.
    						byteArrayOutputStream.write(tempBuffer, 0, cnt);
     
    [B]						
    						// File writer code here
     
    					    Writer output = null;
    					    File file = new File("C:\\Documents and Settings\\FLASH\\Desktop\\myFile.txt");
    					    output = new BufferedWriter(new FileWriter(file, true));
    					    output.write(tempBuffer[0]);
    					    output.close();
    					    System.out.println("Byte written");   
    					 [/B]
     
    					}// end if
    				}// end while
    				byteArrayOutputStream.close();
    			} catch (Exception e) {
    				System.out.println(e);
    				System.exit(0);
    			}// end catch
    		}// end run
    	}// end inner class CaptureThread
    	// ===================================//
    	// Inner class to play back the data
    	// that was saved.
     
    	class PlayThread extends Thread {
    		byte tempBuffer[] = new byte[10000];
     
    		public void run() {
    			try {
    				int cnt;
    				// Keep looping until the input
    				// read method returns -1 for
    				// empty stream.
    				while ((cnt = audioInputStream.read(tempBuffer, 0,
    						tempBuffer.length)) != -1) {
    					if (cnt > 0) {
    						// Write data to the internal
    						// buffer of the data line
    						// where it will be delivered
    						// to the speaker.
    						sourceDataLine.write(tempBuffer, 0, cnt);
    					}// end if
    				}// end while
    				// Block and wait for internal
    				// buffer of the data line to
    				// empty.
    				sourceDataLine.drain();
    				sourceDataLine.close();
    			} catch (Exception e) {
    				System.out.println(e);
    				System.exit(0);
    			}// end catch
    		}// end run
    	}// end inner class PlayThread
    	// ===================================//
     
    }// end outer class AudioCapture01.java

    We are testing this here by writing tempBuffer[0] to the file.

    We need to implement a counter or something so we write each part of the array
    Please use [highlight=Java] code [/highlight] tags when posting your code.
    Forum Tip: Add to peoples reputation by clicking the button on their useful posts.

  7. #7
    mmm.. coffee JavaPF's Avatar
    Join Date
    May 2008
    Location
    United Kingdom
    Posts
    3,336
    My Mood
    Mellow
    Thanks
    258
    Thanked 294 Times in 227 Posts
    Blog Entries
    4

    Default Re: outputing to a text file from sound API

    We could try:

    /*File AudioCapture01.java
     This program demonstrates the capture
     and subsequent playback of audio data.
     
     A GUI appears on the screen containing
     the following buttons:
     Capture
     Stop
     Playback
     
     Input data from a microphone is
     captured and saved in a
     ByteArrayOutputStream object when the
     user clicks the Capture button.
     
     Data capture stops when the user clicks
     the Stop button.
     
     Playback begins when the user clicks
     the Playback button.
     
     Tested using SDK 1.4.0 under Win2000
     **************************************/
     
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import javax.sound.sampled.*;
     
    public class AudioCapture01 extends JFrame {
     
    	[B]public int counter;[/B]
     
    	boolean stopCapture = false;
    	ByteArrayOutputStream byteArrayOutputStream;
    	AudioFormat audioFormat;
    	TargetDataLine targetDataLine;
    	AudioInputStream audioInputStream;
    	SourceDataLine sourceDataLine;
     
    	public static void main(String args[]) {
    		new AudioCapture01();
    	}// end main
     
    	public AudioCapture01() {// constructor
    		final JButton captureBtn = new JButton("Capture");
    		final JButton stopBtn = new JButton("Stop");
    		final JButton playBtn = new JButton("Playback");
     
    		captureBtn.setEnabled(true);
    		stopBtn.setEnabled(false);
    		playBtn.setEnabled(false);
     
    		// Register anonymous listeners
    		captureBtn.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				captureBtn.setEnabled(false);
    				stopBtn.setEnabled(true);
    				playBtn.setEnabled(false);
    				// Capture input data from the
    				// microphone until the Stop
    				// button is clicked.
    				captureAudio();
    			}// end actionPerformed
    		}// end ActionListener
    				);// end addActionListener()
    		getContentPane().add(captureBtn);
     
    		stopBtn.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				captureBtn.setEnabled(true);
    				stopBtn.setEnabled(false);
    				playBtn.setEnabled(true);
    				// Terminate the capturing of
    				// input data from the
    				// microphone.
    				stopCapture = true;
    			}// end actionPerformed
    		}// end ActionListener
    				);// end addActionListener()
    		getContentPane().add(stopBtn);
     
    		playBtn.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				// Play back all of the data
    				// that was saved during
    				// capture.
    				playAudio();
    			}// end actionPerformed
    		}// end ActionListener
    				);// end addActionListener()
    		getContentPane().add(playBtn);
     
    		getContentPane().setLayout(new FlowLayout());
    		setTitle("Capture/Playback Demo");
    		setDefaultCloseOperation(EXIT_ON_CLOSE);
    		setSize(250, 70);
    		setVisible(true);
    	}// end constructor
     
    	// This method captures audio input
    	// from a microphone and saves it in
    	// a ByteArrayOutputStream object.
    	private void captureAudio() {
    		try {
    			// Get everything set up for
    			// capture
    			audioFormat = getAudioFormat();
    			DataLine.Info dataLineInfo = new DataLine.Info(
    					TargetDataLine.class, audioFormat);
    			targetDataLine = (TargetDataLine) AudioSystem.getLine(dataLineInfo);
    			targetDataLine.open(audioFormat);
    			targetDataLine.start();
     
    			// Create a thread to capture the
    			// microphone data and start it
    			// running. It will run until
    			// the Stop button is clicked.
    			Thread captureThread = new Thread(new CaptureThread());
    			captureThread.start();
    		} catch (Exception e) {
    			System.out.println(e);
    			System.exit(0);
    		}// end catch
    	}// end captureAudio method
     
    	// This method plays back the audio
    	// data that has been saved in the
    	// ByteArrayOutputStream
    	private void playAudio() {
    		try {
    			// Get everything set up for
    			// playback.
    			// Get the previously-saved data
    			// into a byte array object.
    			byte audioData[] = byteArrayOutputStream.toByteArray();
    			// Get an input stream on the
    			// byte array containing the data
    			InputStream byteArrayInputStream = new ByteArrayInputStream(
    					audioData);
    			AudioFormat audioFormat = getAudioFormat();
    			audioInputStream = new AudioInputStream(byteArrayInputStream,
    					audioFormat, audioData.length / audioFormat.getFrameSize());
    			DataLine.Info dataLineInfo = new DataLine.Info(
    					SourceDataLine.class, audioFormat);
    			sourceDataLine = (SourceDataLine) AudioSystem.getLine(dataLineInfo);
    			sourceDataLine.open(audioFormat);
    			sourceDataLine.start();
     
    			// Create a thread to play back
    			// the data and start it
    			// running. It will run until
    			// all the data has been played
    			// back.
    			Thread playThread = new Thread(new PlayThread());
    			playThread.start();
    		} catch (Exception e) {
    			System.out.println(e);
    			System.exit(0);
    		}// end catch
    	}// end playAudio
     
    	// This method creates and returns an
    	// AudioFormat object for a given set
    	// of format parameters. If these
    	// parameters don't work well for
    	// you, try some of the other
    	// allowable parameter values, which
    	// are shown in comments following
    	// the declarations.
    	private AudioFormat getAudioFormat() {
    		float sampleRate = 8000.0F;
    		// 8000,11025,16000,22050,44100
    		int sampleSizeInBits = 16;
    		// 8,16
    		int channels = 1;
    		// 1,2
    		boolean signed = true;
    		// true,false
    		boolean bigEndian = false;
    		// true,false
    		return new AudioFormat(sampleRate, sampleSizeInBits, channels, signed,
    				bigEndian);
    	}// end getAudioFormat
    	// ===================================//
     
    	// Inner class to capture data from
    	// microphone
    	class CaptureThread extends Thread {
    		// An arbitrary-size temporary holding
    		// buffer
    		byte tempBuffer[] = new byte[10000];
     
    		public void run() {
    			byteArrayOutputStream = new ByteArrayOutputStream();
    			stopCapture = false;
    			try {// Loop until stopCapture is set
    				// by another thread that
    				// services the Stop button.
    				while (!stopCapture) {
    					// Read data from the internal
    					// buffer of the data line.
    					int cnt = targetDataLine.read(tempBuffer, 0,
    							tempBuffer.length);
    					if (cnt > 0) {
    						// Save data in output stream
    						// object.
    						byteArrayOutputStream.write(tempBuffer, 0, cnt);
     
     
    						// File writer code here
     
    					    Writer output = null;
    					    File file = new File("C:\\Documents and Settings\\FLASH\\Desktop\\myFile.txt");
    					    output = new BufferedWriter(new FileWriter(file, true));
    					    output.write(tempBuffer[[B]counter[/B]]);
    					    output.close();
    					    System.out.println("Byte written"); 
    					    [B]counter++;[/B]
     
     
    					}// end if
    				}// end while
    				byteArrayOutputStream.close();
    			} catch (Exception e) {
    				System.out.println(e);
    				System.exit(0);
    			}// end catch
    		}// end run
    	}// end inner class CaptureThread
    	// ===================================//
    	// Inner class to play back the data
    	// that was saved.
     
    	class PlayThread extends Thread {
    		byte tempBuffer[] = new byte[10000];
     
    		public void run() {
    			try {
    				int cnt;
    				// Keep looping until the input
    				// read method returns -1 for
    				// empty stream.
    				while ((cnt = audioInputStream.read(tempBuffer, 0,
    						tempBuffer.length)) != -1) {
    					if (cnt > 0) {
    						// Write data to the internal
    						// buffer of the data line
    						// where it will be delivered
    						// to the speaker.
    						sourceDataLine.write(tempBuffer, 0, cnt);
    					}// end if
    				}// end while
    				// Block and wait for internal
    				// buffer of the data line to
    				// empty.
    				sourceDataLine.drain();
    				sourceDataLine.close();
    			} catch (Exception e) {
    				System.out.println(e);
    				System.exit(0);
    			}// end catch
    		}// end run
    	}// end inner class PlayThread
    	// ===================================//
     
    }// end outer class AudioCapture01.java

    I don't have a microphone to test it properly though. Tell me if it works!
    Please use [highlight=Java] code [/highlight] tags when posting your code.
    Forum Tip: Add to peoples reputation by clicking the button on their useful posts.

  8. #8
    Junior Member
    Join Date
    Mar 2010
    Posts
    28
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Default Re: outputing to a text file from sound API

    Hi,

    I have tried the code that you provided, however i am only getting the following output:

    ????????????

    Would it be possible to have the software to read the tempBuffer[] array and output it to a textile using filewriter AFTER i select playback rather than automatically after recording?

    I think the following link may help

    FileWriterFileJava Tutorial

  9. #9
    mmm.. coffee JavaPF's Avatar
    Join Date
    May 2008
    Location
    United Kingdom
    Posts
    3,336
    My Mood
    Mellow
    Thanks
    258
    Thanked 294 Times in 227 Posts
    Blog Entries
    4

    Default Re: outputing to a text file from sound API

    The code I provided is copying the contents of the array to the text file at the same time as recording.

    I don't have a microphone so I will never be able to tell if the output is correct. I suggest printing the contents of the array to the console..
    Please use [highlight=Java] code [/highlight] tags when posting your code.
    Forum Tip: Add to peoples reputation by clicking the button on their useful posts.

  10. #10
    Junior Member
    Join Date
    Mar 2010
    Posts
    28
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Default Re: outputing to a text file from sound API

    and how do i do that? I do not suppose i use filewriter right?

  11. #11
    mmm.. coffee JavaPF's Avatar
    Join Date
    May 2008
    Location
    United Kingdom
    Posts
    3,336
    My Mood
    Mellow
    Thanks
    258
    Thanked 294 Times in 227 Posts
    Blog Entries
    4

    Default Re: outputing to a text file from sound API

    Maybe try adding this 1 line of code under the comment.

    // File writer code here
    System.out.println(tempBuffer[counter]);
    Please use [highlight=Java] code [/highlight] tags when posting your code.
    Forum Tip: Add to peoples reputation by clicking the button on their useful posts.

Similar Threads

  1. java program to copy a text file to onother text file
    By francoc in forum File I/O & Other I/O Streams
    Replies: 3
    Last Post: April 23rd, 2010, 03:10 PM
  2. Read data from text file
    By yroll in forum Algorithms & Recursion
    Replies: 4
    Last Post: December 31st, 2009, 01:40 AM
  3. write text to a file help
    By wolfgar in forum File I/O & Other I/O Streams
    Replies: 8
    Last Post: November 24th, 2009, 08:36 AM
  4. Java program to reduce spaces between the words in a text file
    By tyolu in forum File I/O & Other I/O Streams
    Replies: 2
    Last Post: May 13th, 2009, 07:17 AM
  5. [SOLVED] Enhancement in program of removing whitespace from text file
    By John in forum File I/O & Other I/O Streams
    Replies: 4
    Last Post: April 27th, 2009, 09:36 AM