既然要方便修改和查询,为什么还要存成文件呢,用一个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进制文件格式打开才可以看到,