文章目录
字符字节流,前升后降
浏览器下载需要设置两个头 responese .setHeader() 一个设置返回的文件类型
FileInputStream fis = new FileInputStream(path);
//创建字节输出流
ServletOutputStream sos = response.getOutputStream();
//执行输出操作
int len = 1;
byte[] b = new byte[1024];
while((len = fis.read(b)) != -1) {
sos.write(b, 0, len);
}
/*方法内可以不关流*/
sos.close();
//告知客户端要下载的文件
response.setHeader("content-disposition", "attachment;filename=" + filename);
response.setHeader("content-type", "application/octet-stream");
text/plain 表示文本文件的默认值。
application/octet-stream 表示所有其他情况的默认值
https://blog.csdn.net/qq_39007603/article/details/128566928
https://blog.csdn.net/woacptp/article/details/80199713
一、pandas是什么?
package Sort;
import com.sun.deploy.util.StringUtils;
import org.omg.IOP.Encoding;
import java.io.*;
import java.lang.reflect.Field;
import java.util.*;
import java.util.function.Consumer;
public class Sort {
public static void main(String[] args) throws IOException {
//test01();
//test02();
//test03();
// test04();
test06();
}
public static void test01(){
Integer[] ints = new Integer[]{2,3,45,20,12321,1};
// Arrays.sort(ints,Collections.reverseOrder());
// Collections.sort(Arrays.asList(ints), new Comparator<int[]>() {
// @Override
// public int compare(int[] o1, int[] o2) {
// return 0;
// }
// });
//lambda
// Arrays.stream(ints).forEach(value -> System.out.println(value));
//o1-o2 是升序
//o2-o1 是降序
//lambda
Arrays.stream(ints).sorted(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2-o1; //是什么排序??????
}
}).forEach(new Consumer<Integer>() {
@Override
public void accept(Integer integer) {
System.out.println(integer);
}
});
}
public static void test02(){
List<Student> list = new ArrayList<>();
list.add(new Student(1, "A", 20, 180));
list.add(new Student(2, "B", 23, 175));
list.add(new Student(3, "C", 22, 190));
list.add(new Student(4, "D", 21, 175));
list.add(new Student(5, "E", 20, 185));
list.stream().sorted(new Comparator<Student>() {
@Override
public int compare(Student o1, Student o2) {
//前升后降
//身高升序,年龄升序
if(o1.getHeight() == o2.getHeight()){
return o1.getAge()-o2.getAge();
}else{
return o1.getHeight() - o2.getHeight();
}
}
}).forEach(new Consumer<Student>() {
@Override
public void accept(Student student) {
System.out.println(student);
}
});
}
public static void test03(){
System.out.println("_wrhwiefwi".matches("^([A-Za-z0-9_]{1,})$"));
}
public static void test04() throws IOException {
//降sql读取到该本地中去
String sql = "select * from user limit 10";
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(sql.getBytes());
int length = 0 ;
byte[] arr = new byte[1024];
String fileName = "./"+ UUID.randomUUID()+".sql";
FileOutputStream fileOutputStream = new FileOutputStream(fileName);
while ( (length = byteArrayInputStream.read(arr)) != -1 ){
fileOutputStream.write(arr,0,length);
}
//关闭流
byteArrayInputStream.close();
fileOutputStream.close();
}
public static void test05() throws IOException {
//降sql读取到该本地中去
String sql = "select * from user limit 10";
StringReader stringReader = new StringReader(sql);
FileWriter fileWriter = new FileWriter("./test05.sql");
int length = 0;
char[] chars = new char[1024];
while( (length = stringReader.read(chars)) != -1 ){
fileWriter.write(chars,0,length);
}
stringReader.close();
fileWriter.close();
}
public static void test06() throws IOException {
FileReader reader = new FileReader("./test05.sql");
BufferedReader bufferedReader = new BufferedReader(reader);
FileWriter writer = new FileWriter("./test06.sql",true);
BufferedWriter bufferedWriter = new BufferedWriter(writer);
String name = "";
while ( (name = bufferedReader.readLine()) != null ){
bufferedWriter.write(name);
bufferedWriter.newLine(); //添加
System.out.println(name);
}
bufferedWriter.flush();
bufferedReader.close();
bufferedWriter.close();
}
}