A. java中怎樣從文件中讀取數據
分為讀位元組,讀字元兩種讀法
◎◎◎FileInputStream 位元組輸入流讀文件◎◎◎
public class Maintest {
public static void main(String[] args) throws IOException {
File f=new File("G:\\just for fun\\xiangwei.txt");
FileInputStream fin=new FileInputStream(f);
byte[] bs=new byte[1024];
int count=0;
while((count=fin.read(bs))>0)
{
String str=new String(bs,0,count); //反復定義新變數:每一次都 重新定義新變數,接收新讀取的數據
System.out.println(str); //反復輸出新變數:每一次都 輸出重新定義的新變數
}
fin.close();
}
}
◎◎◎FileReader 字元輸入流讀文件◎◎◎
public class Maintest {
public static void main(String[] args) throws IOException {
File f=new File("H:\\just for fun\\xiangwei.txt");
FileReader fre=new FileReader(f);
BufferedReader bre=new BufferedReader(fre);
String str="";
while((str=bre.readLine())!=null) //●判斷最後一行不存在,為空
{
System.out.println(str);
}
bre.close();
fre.close();
}
}
B. java中讀取文件數據
//使用字元流按行讀取
BufferedReaderbr=newBufferedReader(newFileReader("D:\1.txt"));
Stringline=null;
StringBuildersb=newStringBuilder();
while((line=br.readLine())!=null){
sb.append(line);
}
br.close();
//輸出讀取到的內容
System.out.println(sb.toString());
C. Java中通過txt文件存儲和取出數據
如果是這樣的話,你就先用string的split方法以,為分隔符號分開,再replace「」,這兩個東東就可以得到你要的中間的數據了。有個缺點比較佔用內存,或許你也可以去讀文件讀到,的時候就將之前的存起來,然後再讀下面的東西。思路而已試試看吧~
D. 怎樣用Java獲取內存中的數據
可以考慮使用內存映射文件:java.nio.MappedByteBuffer,主要適合放入較大的數據進入系統內存
可以考慮使用:java.nio.ByteBuffer.allocateDirect()方法進行分配,可以將一些不適合放入堆里的數據放入系統內存
還可以採用java本地調用的方式,實現對系統自身內存的掌控與調度,這種方式可以讓你靈活的訪問系統的內存。
java的堆放入的對象尺度是有限制的,這里建議參考BigMemory 的實現機制以及內存管理機制
如果自己管理內存的話,建議參考其他語言對內存管理的方式。
你可以把數據放入線性數據結構中(這些數據是在系統內存中,而非jvm管理的內存里),這樣就不存在分代問題,可以由你的應用在適當的時候清理系統的內存。這樣,你的內存模型-釋放機制就與jvm的內存管理機制處於一個互不幹擾的異行線上。
E. java位元組流怎麼讀取數據
packagetest;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.IOException;
importjava.io.InputStream;
publicclassStreamTest{
publicstaticvoidmain(String[]args)throwsIOException{
//定義讀入流
InputStreamis=newFileInputStream(newFile("文件名"));
//定義緩沖區
byte[]buffer=newbyte[1024];
//讀取
is.read(buffer);
//關閉流
is.close();
}
}
希望能幫到你。
F. java 從資料庫中讀取大數據
這樣每次去讀取上百萬條數據,不崩掉才怪,
我的想法是,你分批去查,然後分批導出,
類似於分頁,每1000 或者更多為一批
按批次去執行,然後做一個進度條,按有多少批次為進度數進行導出
這樣應該會好很多
還可以做個緩存機制,按批次進行存儲,下次拿數據就直接從緩存中獲取
G. java system.in.read()如何讀取數據
system.in.read()做不到,
用輸入輸出流吧:
很長很多的代碼,我學一年才記住的,現在忘了……
查了查:先加這個包:import java.io.*;()主函數代碼如下:
public static void main(String[] args) throws IOException{
InputStreamReader reader = new InputStreamReader(System.in);
BufferedReader input = new BufferedReader(reader);
String s = input.readLine();/*執行輸入流操作*/
int x = Integer.parseInt(s);/*加個int型的轉換*/
H. Java中從文件中讀取數據用什麼函數
一:用Scanner可以很好的達到讀寫文件的作用。
但是學習過程中,由於Scanner的構造函數的參數是InputStream,搞得有點糊塗。後來發現InputStream是一個抽象類,FileInputStream是它的一個子類。而FileInputStream可以以String或File為參數讀入文件流,然後用這個FileInputStream對象初始化一個Scanner,如sin。然後就可以像手動輸入一樣使用sin讀入文件中的信息。用sin.hasnext()表示是否讀到文件結尾。
對應的可以用PrintStream達到寫入文件的效果,它要用一個FileOutputStream(或File file或String filename)作構造函數的參數,然後就可以像在控制台中顯示數據一樣寫入文件。
二:可以用DataInputStream對象實現文件的讀入,其構造函數的參數也是InputStream,所以也可以用FileInputStream,讀取用DataInputStream.readInt()等即可,DataInputStream.readXX()會拋出EOFException()和IOException()。並且在讀到文件結尾時會返回-1。另外用DataInputStream.available()==0表示讀到文件結尾。
寫入文件可以用DataOutputStream對象,寫入可以用DataOutputStream.writeXX(),注意,這些writeXX()都是以二進制的方式寫入的,所以直接打開文件顯示的是亂碼。要顯示寫入文件中的int等數據,要以String形式讀入。雖然顯示的是亂碼,但是用DataInputStream的readXX()可以以int等類型讀入。
I. 跪求Java中寫入文件和從文件中讀取數據的最佳的代碼!
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class IOTest {
public static void main(String[] args) {
String str = "123\r\n456";
writeFile(str);//寫
String str1 = readFile();//讀
System.out.println(str1);
}
/**
* 傳遞寫的內容
* @param str
*/
static void writeFile(String str) {
try {
File file = new File("d:\\file.txt");
if(file.exists()){//存在
file.delete();//刪除再建
file.createNewFile();
}else{
file.createNewFile();//不存在直接創建
}
FileWriter fw = new FileWriter(file);//文件寫IO
fw.write(str);
fw.flush();
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 返回讀取的內容
* @return
*/
static String readFile() {
String str = "", temp = null;
try {
File file = new File("d:\\file.txt");
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);//文件讀IO
while((temp = br.readLine())!=null){//讀到結束為止
str += (temp+"\n");
}
br.close();
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
return str;
}
}
剛寫的,夠朋友好好學習一下啦,呵呵
多多看API,多多練習
J. 如何用JAVA讀取EXCEL文件裡面的數據
使用poi能解決你的問題
或者是
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import static java.lang.System.out;
public class FileTest {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
String string = "";
File file = new File("c:" + File.separator + "xxx.xls");
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String str;
while((str = br.readLine()) != null) {
string += str;
}
out.println(string);
}
}