本文目录一览:
- 1、需要一份500行的java程序,期末大作业,最好带详细注释。
- 2、大学java期末考试求求大家帮忙
- 3、高分求做简单JAVA期末考试
- 4、西安电子科技大学java期末有上机考试吗?
- 5、java期末考试!!求助!!!
需要一份500行的java程序,期末大作业,最好带详细注释。
Java生成CSV文件简单操作实例
CSV是逗号分隔文件(Comma Separated Values)的首字母英文缩写,是一种用来存储数据的纯文本格式,通常用于电子表格或数据库软件。在 CSV文件中,数据“栏”以逗号分隔,可允许程序通过读取文件为数据重新创建正确的栏结构,并在每次遇到逗号时开始新的一栏。如:
123 1,张三,男2,李四,男3,小红,女
Java生成CSV文件(创建与导出封装类)
package com.yph.omp.common.util;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.BeanUtils;
import org.junit.Test;
/**
* Java生成CSV文件
*/
public class CSVUtil {
/**
* 生成为CVS文件
*
* @param exportData
* 源数据List
* @param map
* csv文件的列表头map
* @param outPutPath
* 文件路径
* @param fileName
* 文件名称
* @return
*/
@SuppressWarnings("rawtypes")
public static File createCSVFile(List exportData, LinkedHashMap map,
String outPutPath, String fileName) {
File csvFile = null;
BufferedWriter csvFileOutputStream = null;
try {
File file = new File(outPutPath);
if (!file.exists()) {
file.mkdir();
}
// 定义文件名格式并创建
csvFile = File.createTempFile(fileName, ".csv",
new File(outPutPath));
// UTF-8使正确读取分隔符","
csvFileOutputStream = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(csvFile), "GBK"), 1024);
// 写入文件头部
for (Iterator propertyIterator = map.entrySet().iterator(); propertyIterator
.hasNext();) {
java.util.Map.Entry propertyEntry = (java.util.Map.Entry) propertyIterator
.next();
csvFileOutputStream
.write("\"" + (String) propertyEntry.getValue() != null ? (String) propertyEntry
.getValue() : "" + "\"");
if (propertyIterator.hasNext()) {
csvFileOutputStream.write(",");
}
}
csvFileOutputStream.newLine();
// 写入文件内容
for (Iterator iterator = exportData.iterator(); iterator.hasNext();) {
Object row = (Object) iterator.next();
for (Iterator propertyIterator = map.entrySet().iterator(); propertyIterator
.hasNext();) {
java.util.Map.Entry propertyEntry = (java.util.Map.Entry) propertyIterator
.next();
/*-------------------------------*/
//以下部分根据不同业务做出相应的更改
StringBuilder sbContext = new StringBuilder("");
if (null != BeanUtils.getProperty(row,(String) propertyEntry.getKey())) {
if("证件号码".equals(propertyEntry.getValue())){
//避免:身份证号码 ,读取时变换为科学记数 - 解决办法:加 \t(用Excel打开时,证件号码超过15位后会自动默认科学记数)
sbContext.append(BeanUtils.getProperty(row,(String) propertyEntry.getKey()) + "\t");
}else{
sbContext.append(BeanUtils.getProperty(row,(String) propertyEntry.getKey()));
}
}
csvFileOutputStream.write(sbContext.toString());
/*-------------------------------*/
if (propertyIterator.hasNext()) {
csvFileOutputStream.write(",");
}
}
if (iterator.hasNext()) {
csvFileOutputStream.newLine();
}
}
csvFileOutputStream.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
csvFileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return csvFile;
}
/**
* 下载文件
*
* @param response
* @param csvFilePath
* 文件路径
* @param fileName
* 文件名称
* @throws IOException
*/
public static void exportFile(HttpServletRequest request,
HttpServletResponse response, String csvFilePath, String fileName)
throws IOException {
response.setCharacterEncoding("UTF-8");
response.setContentType("application/csv;charset=GBK");
response.setHeader("Content-Disposition", "attachment; filename="
+ new String(fileName.getBytes("GB2312"), "ISO8859-1"));
InputStream in = null;
try {
in = new FileInputStream(csvFilePath);
int len = 0;
byte[] buffer = new byte[1024];
OutputStream out = response.getOutputStream();
while ((len = in.read(buffer)) 0) {
out.write(buffer, 0, len);
}
} catch (FileNotFoundException e1) {
System.out.println(e1);
} finally {
if (in != null) {
try {
in.close();
} catch (Exception e1) {
throw new RuntimeException(e1);
}
}
}
}
/**
* 删除该目录filePath下的所有文件
*
* @param filePath
* 文件目录路径
*/
public static void deleteFiles(String filePath) {
File file = new File(filePath);
if (file.exists()) {
File[] files = file.listFiles();
for (int i = 0; i files.length; i++) {
if (files[i].isFile()) {
files[i].delete();
}
}
}
}
/**
* 删除单个文件
*
* @param filePath
* 文件目录路径
* @param fileName
* 文件名称
*/
public static void deleteFile(String filePath, String fileName) {
File file = new File(filePath);
if (file.exists()) {
File[] files = file.listFiles();
for (int i = 0; i files.length; i++) {
if (files[i].isFile()) {
if (files[i].getName().equals(fileName)) {
files[i].delete();
return;
}
}
}
}
}
@SuppressWarnings({ "unchecked", "rawtypes" })
@Test
public void createFileTest() {
List exportData = new ArrayListMap();
Map row1 = new LinkedHashMapString, String();
row1.put("1", "11");
row1.put("2", "12");
row1.put("3", "13");
row1.put("4", "14");
exportData.add(row1);
row1 = new LinkedHashMapString, String();
row1.put("1", "21");
row1.put("2", "22");
row1.put("3", "23");
row1.put("4", "24");
exportData.add(row1);
LinkedHashMap map = new LinkedHashMap();
map.put("1", "第一列");
map.put("2", "第二列");
map.put("3", "第三列");
map.put("4", "第四列");
String path = "d:/export";
String fileName = "文件导出";
File file = CSVUtil.createCSVFile(exportData, map, path, fileName);
String fileNameNew = file.getName();
String pathNew = file.getPath();
System.out.println("文件名称:" + fileNameNew );
System.out.println("文件路径:" + pathNew );
}
}
//注:BeanUtils.getProperty(row,(String) propertyEntry.getKey()) + "\t" ,只为解决数字格式超过15位后,在Excel中打开展示科学记数问题。
大学java期末考试求求大家帮忙
%!
int a=20;
%
%a+=2;%
%a%
更多科目问题请追问
高分求做简单JAVA期末考试
1. Application 创建一个类,然后写一个主函数,再写一些程序在主函数里就是一个简单的Appliction
Applet 创建一个类继承Applet类,然后实现init,start,destory方法,这个就可以了
2. Java接口,Java语言中存在的结构,有特定的语法和结构; 包就是一个文件夹
3. 多态包括重载和重构 最通俗的程序例子,昨天刚写的
/**
简单的通俗的讲:
继承就是儿子继承了父亲,一个类内有一个父亲,但一个父亲可以有多个儿子
多态就是儿子虽然继承了父亲的一些特性,但有些特性有了改变
封装就是有些东西儿子是父亲独有的儿子继承不了
*/
class FatherClass {
//FatherClass的成员变量
//父亲公开的属性儿子,孙子,侄子都能访问 a
public int a;
//父亲私有的属性,儿子继承不了,在子类中也不能访问 b
private int b;
//FatherClass的成员方法
//父亲公开的方法儿子,孙子,侄子都能访问 eat
public void eat(){
System.out.println("Father eat!");
}
public void drink(){
System.out.println("Father drinking!");
}
//父亲私有的方法,儿子继承不了,在子类中也不能访问 方法height
private void height(){
System.out.println("Father height!");
}
//父亲的最终方法poor,也就是说儿子不能覆盖这个方法(儿子不能有和父亲方法头一样的函数)
public final void poor(){
System.out.println("Father poor!");
}
}
class SubClass extends FatherClass {
//虽继承了父亲的吃方法,但儿子又拓展了父亲的吃方法,要带餐具(多态中的一:重载)
public void eat(String tool){
System.out.println(tool+" :Son eat!");
}
//和父亲的喝方法一样,不过这是儿子自己的喝方法,不是从父亲那里来的(多态中的二:覆盖或重写或重构)
public void drink(){
System.out.println("Son drinking!");
}
public static void print(){
System.out.println("Static Function!");
}
}
public class ExtendsTest {
public static void main(String[] args) {
SubClass sc=new SubClass();
sc.eat();//儿子继承了父亲的吃方法,可以直接使用
sc.eat("Bowl");//虽然儿子继承了父亲的吃方法,可是儿子也有自己的吃方法(拓展了),得用餐具吃
sc.drink();//这里调用的是儿子的喝方法而不是父亲的噢,父亲的被儿子覆盖了
//sc.height();//父亲私有的儿子不能使用
SubClass.print();//静态方法直接使用 类名.方法名 调用
}
}
5.
面向对象特征:继承,多态,封装
6.
import java.util.Scanner;
public class CountNum {
/**
* @param args
*/
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.print("请输入一个整数:");
int number=sc.nextInt();
int sum=0;
for(int i=1;i=number;i++){
sum+=i;
}
System.out.println("1+2+...+number="+sum);
}
}
7.
public class Student {
private long id;
private String name;
private int age;
boolean sex;
String phone;
public Student(long i, String n, int a, boolean s, String p) {
this.id = i;
this.name = n;
this.age = a;
this.sex = s;
this.phone = p;
}
int getage() {
return age;
}
boolean getsex() {
return sex;
}
Long getphone() {
return Long.parseLong(phone);
}
public String tostring() {
return name;
}
}
还不多呢
总算弄完了,,
呵呵…………
祝你好运哈。。。
西安电子科技大学java期末有上机考试吗?
有上机考试。可以提前搜索了解历年的考试题目进行练习上机操作,根据导师上课的重点要求多复习。
java期末考试!!求助!!!
1.
第一种:
当X=10时 X-1=X; 无效表达式
当X=10时 X-=3; 等价于 X=X-3; 运算后x的值:7
当X=10时 X*=1+2; 等价于 X=X*(1+2); 运算后x的值:30
当X=10时 X%=5; 等价于 X=X%5; 运算后x的值:0
第二种:
如果是问 X 经过后三个表达式运算后的值(第一个表达式是错的):
X=X-3; 此时 X=7
X=X*(1+2); 此时 X=21
X=X%5; 此时 X=1
最后X为1
2.
当a=6; b=-4;时 --a%++b; 等价于 (a-1)%(b+1); 运算后的值:2
当a=6; b=-4;时 (--a)a;; 等价于 (a-1)a; 运算后的值:160
位运算
a-1的值为5
5的二进制为 101
55 表示把五的二进制向左移动5位 即101 00 000换十进制为160
当a=6; b=-4;时 (a10 a10 ? a:b); 等价于
如果a小于10 并且 a大于10 表达式的值为a也就是6 否则表达式的值为b 即-4
一个数不可能同时小于10又大于10 所以 表达式的值为b 也就是-4