09HCB

Trang chủ 09HCB- Lớp Hoàn Chỉnh Đại Học Khoá 2009-2011
 
Trang ChínhTrang Chính  GalleryGallery  Tìm kiếmTìm kiếm  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  

Share
 

 Hướng dẫn ghi file - đọc file binary!

Go down 
Tác giảThông điệp
Admin
Admin
Admin

Tổng số bài gửi : 149
Join date : 15/03/2010

Hướng dẫn ghi file - đọc file binary! Empty
Bài gửiTiêu đề: Hướng dẫn ghi file - đọc file binary!   Hướng dẫn ghi file - đọc file binary! Empty26/8/2010, 3:46 pm

http://www.particle.kth.se/~lindsey/JavaCourse/Book/Part1/Java/Chapter09/fileBinaryIO.html

import
java.io.*;
import java.util.*;

/** Write a primitive type data array to a binary
file.**/
public class BinOutputFileApp
{
public static void main (String arg[]) {
Random ran = new Random ();

// Create an integer array and a double
array.
int [] i_data
= new int[15];
double [] d_data = new double[15];
// and fill them
for (int i=0; i < i_data.length;
i++) {
i_data[i] = i;
d_data[i] = ran.nextDouble
() * 10.0;
}

File file = null;
// Get the output file name from the
argument line.
if (arg.length > 0) file = new File
(arg[0]);
// or use a default file name
if (file == null) {
System.out.println
("Default: numerical.dat");
file = new
File ("numerical.dat");
}

// Now write the data array to the
file.
try {
// Create an output stream
to the file.
FileOutputStream file_output
= new FileOutputStream (file);
// Wrap the FileOutputStream
with a DataOutputStream
DataOutputStream data_out
= new DataOutputStream (file_output);

// Write the data to the
file in an integer/double pair
for (int i=0; i < i_data.length;
i++) {
data_out.writeInt
(i_data[i]);
data_out.writeDouble
(d_data[i]);
}
// Close file when finished
with it..
file_output.close ();
}
catch (IOException e) {
System.out.println ("IO
exception = " + e );
}
} // main

} // class BinOutputFileApp


Reading from a
Binary File


In the example program BinInputFileApp,
we read a binary file created by BinOutputFileApp
discussed above. We begin by first opening a stream to the file
with a FileInputStream
object. Then we wrap this with a DataInputStream
class to obtain the many readX()
methods, where X represents the name of a primitive data type
as in readInt()
and readDouble().
The BinInputFileApp
program reads pairs of integer and double values.

Rather than test for the return of a -1 value as
we did in the text input streams,
we simply continue to loop until the read method throws the EOFException.
In the catch statement for this exception you can carry out the
final housekeeping chores before closing the file stream.





import java.io.*;
import java.util.*;

/** Demonstrate reading primitive type values
from a binary file. **/
public class BinInputFileApp
{
public static void main (String arg[]) {
File file = null;
int i_data
= 0;
double d_data = 0.0;

// Get the file from the argument
line.
if (arg.length > 0) file = new File
(arg[0]);
if (file == null) {
System.out.println ("Default:
numerical.dat");
file = new File ("numerical.dat");
}

try {
// Wrap the FileInputStream
with a DataInputStream
FileInputStream file_input
= new FileInputStream (file);
DataInputStream data_in =
new DataInputStream (file_input );

while (true) {
try {
i_data
= data_in.readInt ();
d_data
= data_in.readDouble ();
}
catch (EOFException
eof) {
System.out.println
("End of File");
break;
}
// Print
out the integer, double data pairs.
System.out.printf
("%3d. Data = %8.3e %n", i_data, d_data );
}
data_in.close ();
} catch (IOException
e) {
System.out.println
( "IO Exception =: " + e );
}
} // main
} // class BinInputApp


We illustrate the output and input of binary data
by first running BinOutputFileApp
to produce the data file numerical.dat.
We then run BinInputFileApp,
which reads the file numerical.dat and produces the following
output on the console.

Your output will vary since BinOutputFileApp
uses the Random
class to generate random values.


Example
Default:
numerical.dat
0. Data = 2.633e+00
1. Data = 7.455e+00
2. Data = 2.447e+00
3. Data = 7.046e+00
4. Data = 2.652e+00
5. Data = 5.120e+00
6. Data = 1.754e+00
7. Data = 7.489e+00
8. Data = 7.386e-01
9. Data = 6.036e+00
10. Data = 7.002e-01
11. Data = 9.625e+00
12. Data = 5.966e+00
13. Data = 8.535e+00
14. Data = 2.744e+00
End of File
Về Đầu Trang Go down
https://09hcb.forumvi.com
canary

canary

Tổng số bài gửi : 52
Join date : 17/03/2010

Hướng dẫn ghi file - đọc file binary! Empty
Bài gửiTiêu đề: Re: Hướng dẫn ghi file - đọc file binary!   Hướng dẫn ghi file - đọc file binary! Empty15/9/2010, 2:59 pm

thanks Very Happy
Về Đầu Trang Go down
 
Hướng dẫn ghi file - đọc file binary!
Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
09HCB :: Lưu trữ :: HK2 :: Lập trình ứng dụng Java-
Chuyển đến