既然要方便修改和查詢,為什麼還要存成文件呢,用一個List或Map的靜態變數存一下就可以了呀
161173150 java 學習群
㈡ java中關於文件存放到數組里的一個問題
1,File[] a 放的是文件對象組成的數組,File中包含文件的一些信息(文件名、大小,但不包含文件內容),可以通過file對象對文件讀寫
2,List中可以存放某一個類型的實例,但必須是同一類型的
3,可以,定義的時候泛型寫成這樣List<Object> 所有對象都可以放
4,如果不想強轉,使用泛型
㈢ JAVA讀取txt文件賦值、存入數組的問題
importjava.io.BufferedReader;
importjava.io.FileReader;
importjava.util.Arrays;
publicclassFileToAry{
publicstaticvoidmain(String[]args)throwsException{
BufferedReaderbr=newBufferedReader(newFileReader("c:\test.txt"));//使用BufferedReader最大好處是可以按行讀取,每次讀取一行
intn=0;//定義n
intm=0;//定義m
int[]U=null;//定義數組
int[]S=null;//定義數組
intindex=0;//索引
Stringtemp;//定義字元串,用於保存每行讀取到的數據
while((temp=br.readLine())!=null){
int[]ary=aryChange(temp);//通過函數吧字元串數組解析成整數數組
if(index==0){
n=ary[0];
m=ary[1];
}
if(index==1){
U=ary;
}
if(index==2){
S=ary;
}
index++;
}
br.close();//關閉輸入流
//測試輸出
System.out.println("n="+n+" m="+m+" 數組U="+Arrays.toString(U)+" 數組S="+Arrays.toString(S));
}
staticint[]aryChange(Stringtemp){//字元串數組解析成int數組
String[]ss=temp.trim().split("\s+");//.trim()可以去掉首尾多餘的空格
//.split("\s+")
//表示用正則表達式去匹配切割,\s+表示匹配一個或者以上的空白符
int[]ary=newint[ss.length];
for(inti=0;i<ary.length;i++){
ary[i]=Integer.parseInt(ss[i]);//解析數組的每一個元素
}
returnary;//返回一個int數組
}
}
運行測試
n=5 m=10
數組U=[5,13,15,5,5]
數組S=[30,20,2,14,14]
㈣ JAVA讀取文件內容並放入數組
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class MyMain {
private String url;
private List<String> lines = new ArrayList<String>();
private List<String> strings = new ArrayList<String>();
private Map<String,Integer> map1 = new HashMap<String,Integer>();
private Map<Integer,String[]> map2 = new HashMap<Integer,String[]>();
public MyMain(){
url = "D:\\abc.txt";
read();
}
public void read(){//讀取文件內容。
File file = new File(url);
try {
BufferedReader br = new BufferedReader(new FileReader(file));
for(String line =br.readLine();line!=null;line = br.readLine()){
lines.add(line);
}
for (int i=0;i<lines.size();i++) {
String[] strs = lines.get(i).split(" ");
for (String string : strs) {
strings.add(string);
}
map2.put(i, strs);
}
for (String str : strings) {
if(map1.containsKey(str)){
int num = map1.get(str)+1;
map1.remove(str);
System.out.print(str);
map1.put(str, num);
}else{
map1.put(str, 1);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
public Map<String, Integer> getMap1() {
return map1;
}
public Map<Integer, String[]> getMap2() {
return map2;
}
public static void main(String args[]){
MyMain mymain = new MyMain();
Map<String,Integer> map1 = mymain.getMap1();
Map<Integer,String[]> map2 = mymain.getMap2();
//時間關系,就不遍歷查看了,已經裝進去了
}
}
㈤ 配置java程序中main函數的args數組的參數
右鍵有main函數的java文件——>run as——>run configurations——>Arguments選項卡
在Programarguments里寫參數就可以了,空格隔開參數
㈥ 如何創建JAVA數組文件
創建一個file
然後用流對象 給每一行寫入數組裡面的內容
關閉流
㈦ java如何讀取文件的數據並賦值給變數或數組
1:打開文件
2:一行一行讀取賦給一個字元串
3:分以" "拆分這個字元串得到一個字元串數組
4:
x=字元串【2】
y=字元串【3】
z=字元串【4】
㈧ Java如何自定義的byte[]數組寫入文件
FileOutputStream.write(byte[] bytes)寫入文件的是二進制碼,你寫入二進制1和0是不可見字元,必須用二進制/16進制文件格式打開才可以看到,