一脸懵逼学习Java操作Excel之POI(Apache POI)
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。
1:下面简单的程序来创建一个空白Microsoft Excel工作簿。
请记住一定要引入jar包,切记:http://poi.apache.org/download.html
如:poi-3.9-20121203.jar
package com.bie; import java.io.FileOutputStream;
import java.io.IOException; import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Workbook; /**
*
* @author biexiansheng
*
*/
public class PoiTest { public static void main(String[] args) throws IOException {
//创建一个空的工作簿
Workbook wb = new HSSFWorkbook();
//创建输出流
FileOutputStream fos = new FileOutputStream("c:\\poi.xlsx");
//写入到流中,创建这个excel文件
wb.write(fos);
//关闭流
fos.close(); }
}
2:创建一个excel,然后插入一些数据测试一下;
package com.bie; import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Calendar;
import java.util.Date; import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.CreationHelper;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook; /**
*
* @author biexiansheng
*
*/
public class PoiTest { public static void main(String[] args) throws IOException {
//创建一个空的工作簿
Workbook wb = new HSSFWorkbook();
//创建sheet页
Sheet sheet1 = wb.createSheet("第一个sheet页");
wb.createSheet("第二个sheet页");
//创建一个行
Row createRow = sheet1.createRow();
//创建一个单元格,第一列
Cell createCell = createRow.createCell();
createCell.setCellValue("编号");
//创建一个单元格,第二列,然后对此单元格进行赋值
createRow.createCell().setCellValue("姓名");
//创建一个单元格,第三列,然后对此单元格进行赋值
createRow.createCell().setCellValue("年龄");
//创建一个单元格,第四列,然后对此单元格进行赋值
createRow.createCell().setCellValue("性别");
//创建一个单元格,第五列,然后对此单元格进行赋值
createRow.createCell().setCellValue("生日"); //创建第二行
Row createRow2 = sheet1.createRow();
//创建单元格,然后对单元格进行赋值
createRow2.createCell().setCellValue("");
createRow2.createCell().setCellValue("张三");
createRow2.createCell().setCellValue("");
createRow2.createCell().setCellValue("男"); //设置时间格式
//创建一个单元格的样式,单元格样式类
CellStyle cellStyle = wb.createCellStyle();
CreationHelper creationHelper = wb.getCreationHelper();
//格式化日期
cellStyle.setDataFormat(creationHelper.createDataFormat().getFormat("yyyy-MM-dd HH:mm:ss"));
//得到这个单元格,用于赋值和设置单元格的格式
//第一种方法:
Cell createCell2 = createRow2.createCell();
createCell2.setCellValue(new Date());
createCell2.setCellStyle(cellStyle); //第二种方法:
//Cell createCell3 = createRow2.createCell(4);
//createCell3.setCellValue(Calendar.getInstance());
//createCell3.setCellStyle(cellStyle); //创建输出流
FileOutputStream fos = new FileOutputStream("c:\\poi.xlsx");
//写入到流中,创建这个excel文件
wb.write(fos);
//关闭流
fos.close(); }
}
可以看到excel里面的数据内容如下所示:

3:创建一个时间格式的单元格
package com.bie; import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Date; import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.CreationHelper;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook; /**
*
* @author biexiansheng
*
*/
public class PoiTest { public static void main(String[] args) throws IOException {
//创建一个空的工作簿
Workbook wb = new HSSFWorkbook();
//创建sheet页
Sheet sheet1 = wb.createSheet("第一个sheet页");
wb.createSheet("第二个sheet页");
//创建一个行
Row createRow = sheet1.createRow();
//创建一个单元格,第一列
Cell createCell = createRow.createCell();
createCell.setCellValue("编号");
//创建一个单元格,第二列,然后对此单元格进行赋值
createRow.createCell().setCellValue("姓名");
//创建一个单元格,第三列,然后对此单元格进行赋值
createRow.createCell().setCellValue("年龄");
//创建一个单元格,第四列,然后对此单元格进行赋值
createRow.createCell().setCellValue("性别");
//创建一个单元格,第五列,然后对此单元格进行赋值
createRow.createCell().setCellValue("生日"); //创建第二行
Row createRow2 = sheet1.createRow();
//创建单元格,然后对单元格进行赋值
createRow2.createCell().setCellValue("");
createRow2.createCell().setCellValue("张三");
createRow2.createCell().setCellValue("");
createRow2.createCell().setCellValue("男"); //设置时间格式
//创建一个单元格的样式,单元格样式类
CellStyle cellStyle = wb.createCellStyle();
CreationHelper creationHelper = wb.getCreationHelper();
//格式化日期
cellStyle.setDataFormat(creationHelper.createDataFormat().getFormat("yyyy-MM-dd HH:mm:ss"));
//得到这个单元格,用于赋值和设置单元格的格式
Cell createCell2 = createRow2.createCell();
createCell2.setCellValue(new Date());
createCell2.setCellStyle(cellStyle); //创建输出流
FileOutputStream fos = new FileOutputStream("c:\\poi.xlsx");
//写入到流中,创建这个excel文件
wb.write(fos);
//关闭流
fos.close(); }
}
运行效果如下所示:

4:遍历工作簿的行和列并且获取单元格内容
package com.bie; import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Calendar;
import java.util.Date; import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.CreationHelper;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook; /**
*
* @author biexiansheng
*
*/
public class PoiTest2 { public static void main(String[] args) throws IOException {
FileInputStream fis = new FileInputStream("c:\\poi.xlsx");
//接受输入流
POIFSFileSystem pfs = new POIFSFileSystem(fis);
//创建一个工作簿
HSSFWorkbook hwb = new HSSFWorkbook(pfs);
//获取第一个sheet页
HSSFSheet sheetAt = hwb.getSheetAt();
if(sheetAt == null){
return ;
} //遍历行里面的单元格内容.
for(int i =; i<=sheetAt.getLastRowNum(); i++){
//得到每一行
HSSFRow row = sheetAt.getRow(i);
//如果为空就跳出
if(row == null){
continue;
}
//遍历列
for(int j=; j<row.getLastCellNum(); j++){
//遍历列里面的内容
HSSFCell cell = row.getCell(j);
if(cell == null){
continue;
}
//输出列里面的内容
System.out.print(" " + cell);
}
System.out.println();
}
} public static String getValue(HSSFCell cell){
if(cell.getCellType() == HSSFCell.CELL_TYPE_BOOLEAN){
return String.valueOf(cell.getBooleanCellValue());
}else if(cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC){
return String.valueOf(cell.getNumericCellValue());
}else{
return String.valueOf(HSSFCell.CELL_TYPE_STRING);
}
} }
运行效果如下所示:

5:文本提取
package com.bie; import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Calendar;
import java.util.Date; import org.apache.poi.hssf.extractor.ExcelExtractor;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.CreationHelper;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook; /**
*
* @author biexiansheng
*
*/
public class PoiTest3 { public static void main(String[] args) throws IOException {
FileInputStream fis = new FileInputStream("c:\\poi.xlsx");
//接受输入流
POIFSFileSystem pfs = new POIFSFileSystem(fis);
//创建一个工作簿
HSSFWorkbook hwb = new HSSFWorkbook(pfs);
//获取第一个sheet页
HSSFSheet sheetAt = hwb.getSheetAt();
if(sheetAt == null){
return ;
}
//文本抽取
ExcelExtractor excelExtractor = new ExcelExtractor(hwb);
System.out.println(excelExtractor.getText());
} }
运行效果如下所示://不要sheet的名称
excelExtractor.setIncludeSheetNames(false);

6:单元格对齐方式,单元格边框处理,单元格填充色和颜色操作,单元格合并
package com.bie; import java.io.FileOutputStream;
import java.io.IOException; import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.CellRangeAddress; /**
* @author Author:别先生
* @date Date:2017年9月9日 上午10:14:31
*
*
*/
public class PoiTest { /***
* 创建一个单元格并为其设定指定的对齐方式
* @param wb 工作簿
* @param row 行
* @param column 列
* @param halign 水平对齐的方式
* @param valign 垂直对齐的方式
*/
private static void createCell(Workbook wb,Row row,short column,short halign,short valign){
//创建单元格
Cell cell = row.createCell(column);
//设置单元格的值
cell.setCellValue(new HSSFRichTextString("测试内容"));
//创建单元格的样式
CellStyle cellStyle = wb.createCellStyle();
//设置单元格水平对齐方式
cellStyle.setAlignment(halign);
//设置单元格垂直对齐方式
cellStyle.setVerticalAlignment(valign); //设置边框线和颜色
//底部边框
cellStyle.setBorderBottom(CellStyle.BORDER_THIN);
//底部颜色
cellStyle.setBottomBorderColor(IndexedColors.BLUE.getIndex()); //左边边框
cellStyle.setBorderLeft(CellStyle.BORDER_DASH_DOT);
//左边颜色
cellStyle.setBottomBorderColor(IndexedColors.RED.getIndex()); //右边边框
cellStyle.setRightBorderColor(CellStyle.ALIGN_FILL);
//右边边框颜色
cellStyle.setBottomBorderColor(IndexedColors.DARK_YELLOW.getIndex()); //顶部边框
cellStyle.setBorderTop(CellStyle.BORDER_DOTTED);
//顶部颜色
cellStyle.setTopBorderColor(IndexedColors.AUTOMATIC.getIndex()); //设置单元格填充色和颜色操作
//设置背景颜色
cellStyle.setFillBackgroundColor(IndexedColors.GREEN.getIndex());
cellStyle.setFillPattern(CellStyle.BIG_SPOTS);
//设置前景颜色
cellStyle.setFillForegroundColor(IndexedColors.BLUE.getIndex());
cellStyle.setFillPattern(CellStyle.BIG_SPOTS); //设置单元格的样式
cell.setCellStyle(cellStyle);
} public static void main(String[] args) throws IOException {
//定义一个工作簿
Workbook wb =new HSSFWorkbook();
//创建第一个sheet页
Sheet createSheet = wb.createSheet("第一个sheet");
//创建第一行
Row createRow = createSheet.createRow();
createRow.setHeightInPoints(); //调用工具方法,创建单元格
//单元格的对齐方式的调用和使用
createCell(wb, createRow, (short), HSSFCellStyle.ALIGN_CENTER, HSSFCellStyle.VERTICAL_BOTTOM);;
createCell(wb, createRow, (short), HSSFCellStyle.ALIGN_LEFT, HSSFCellStyle.VERTICAL_CENTER);;
createCell(wb, createRow, (short), HSSFCellStyle.ALIGN_RIGHT, HSSFCellStyle.VERTICAL_TOP);;
createCell(wb, createRow, (short), HSSFCellStyle.ALIGN_JUSTIFY, HSSFCellStyle.VERTICAL_JUSTIFY);; //创建单元格
//创建第3行
Row createRow2 = createSheet.createRow();
createRow.setHeightInPoints();
//创建第一列和第二列
Cell createCell = createRow2.createCell();
createCell.setCellValue("单元格合并1"); Cell createCell2 = createRow2.createCell();
createCell2.setCellValue("单元格合并2"); //单元格合并,起始行,结束行,起始列,结束列
createSheet.addMergedRegion(new CellRangeAddress(, , , )); //创建输出流
FileOutputStream fos = new FileOutputStream("d:\\poi.xlsx");
//将内容写到excel文件中
wb.write(fos);
//关闭流
fos.close();
} }
演示效果如下所示:
7:字体处理的单元格
package com.bie; import java.io.FileOutputStream;
import java.io.IOException; import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.CellRangeAddress; /**
* @author Author:别先生
* @date Date:2017年9月9日 上午10:14:31
*
*
*/
public class PoiTest2 { public static void main(String[] args) throws IOException {
//定义一个工作簿
Workbook wb =new HSSFWorkbook();
//创建第一个sheet页
Sheet createSheet = wb.createSheet("第一个sheet");
//创建第一行
Row createRow = createSheet.createRow(); //创建一个字体处理类
Font createFont = wb.createFont();
createFont.setFontHeightInPoints((short));
createFont.setFontName("Courier New");
createFont.setItalic(true);
createFont.setStrikeout(true); CellStyle createCellStyle = wb.createCellStyle();
createCellStyle.setFont(createFont); //创建单元格
Cell createCell = createRow.createCell((short));
createCell.setCellValue("这是一个字体设计的单元格");
createCell.setCellStyle(createCellStyle); //创建输出流
FileOutputStream fos = new FileOutputStream("d:\\poi.xlsx");
//将内容写到excel文件中
wb.write(fos);
//关闭流
fos.close();
} }
演示效果如下所示:
8:读取和重写工作簿
package com.bie; import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException; import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook; /**
* @author Author:别先生
* @date Date:2017年9月9日 上午10:14:31
*
*
*/
public class PoiTest3 { public static void main(String[] args) throws IOException {
//创建输入流
FileInputStream fis = new FileInputStream("d:\\poi.xlsx");
//将获取到文件流放到内存中
POIFSFileSystem pfs = new POIFSFileSystem(fis);
//创建一个工作簿
Workbook wb = new HSSFWorkbook(pfs);
//获取第一个sheet页
Sheet sheetAt = wb.getSheetAt();
//获取第6行
Row row = sheetAt.getRow();
//获取第六个单元格
Cell cell = row.getCell();
if(cell == null){
cell = row.createCell();
}
cell.setCellType(Cell.CELL_TYPE_STRING);
cell.setCellValue("测试单元格"); //创建输出流
FileOutputStream fos = new FileOutputStream("d:\\poi.xlsx");
//将内容写到excel文件中
wb.write(fos);
//关闭流
fos.close();
fis.close();
} }
演示效果如下所示:

9:poi操作单元格换行操作:
package com.bie; import java.io.FileOutputStream;
import java.io.IOException; import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.CellRangeAddress; /**
* @author Author:别先生
* @date Date:2017年9月9日 上午10:14:31
*
*
*/
public class PoiTest4 { public static void main(String[] args) throws IOException {
//定义一个工作簿
Workbook wb =new HSSFWorkbook();
//创建第一个sheet页
Sheet createSheet = wb.createSheet("第一个sheet");
//创建第一行
Row createRow = createSheet.createRow();
//创建单元格
Cell createCell = createRow.createCell();
createCell.setCellValue("我要换行\n are you ok !!!!"); //设置样式
CellStyle cs = wb.createCellStyle();
//设置可以换行
cs.setWrapText(true);
createCell.setCellStyle(cs); //调整一下行的高度
createRow.setHeightInPoints( * createSheet.getDefaultRowHeightInPoints());
//调整单元格的宽度
createSheet.autoSizeColumn(); //创建输出流
FileOutputStream fos = new FileOutputStream("d:\\poi.xlsx");
//将内容写到excel文件中
wb.write(fos);
//关闭流
fos.close();
} }
演示效果如下所示:
10、java集合数据写入至Excel文件poi。
package com.feixian.yqdata.utils; import com.feixian.yqdata.po.YqData;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook; import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List; /**
*
*/
public class DecryptExcelData2 { public static void main(String[] args) throws IOException { List<YqData> yqData = new ArrayList<>();
YqData yqData1 = new YqData("张三", "", "2020-02-05 12:22:22", "巴铁");
YqData yqData2 = new YqData("张三", "", "2020-02-05 12:22:22", "巴铁");
YqData yqData3 = new YqData("张三", "", "2020-02-05 12:22:22", "巴铁");
YqData yqData4 = new YqData("张三", "", "2020-02-05 12:22:22", "巴铁"); yqData.add(yqData1);
yqData.add(yqData2);
yqData.add(yqData3);
yqData.add(yqData4); //创建一个空的工作簿
Workbook wb = new HSSFWorkbook();
//创建sheet页
Sheet sheet1 = wb.createSheet("sheet0");
//创建一个行
Row createRow = sheet1.createRow();
//创建一个单元格,第一列
Cell createCell = createRow.createCell();
createCell.setCellValue("name");
//创建一个单元格,第二列,然后对此单元格进行赋值
createRow.createCell().setCellValue("CertNo");
//创建一个单元格,第三列,然后对此单元格进行赋值
createRow.createCell().setCellValue("TriplDate");
//创建一个单元格,第四列,然后对此单元格进行赋值
createRow.createCell().setCellValue("TripMode"); //设置时间格式
//创建一个单元格的样式,单元格样式类
// CellStyle cellStyle = wb.createCellStyle();
// CreationHelper creationHelper = wb.getCreationHelper();
// //格式化日期
// cellStyle.setDataFormat(creationHelper.createDataFormat().getFormat("yyyy-MM-dd HH:mm:ss")); // 循环遍历生成的集合
for (int i = ; i < yqData.size(); i++) {
Row createRows = sheet1.createRow(i + );
createRows.createCell().setCellValue(yqData.get(i).getName());
createRows.createCell().setCellValue(yqData.get(i).getCertNo()); // 设置日期类型
createRows.createCell().setCellValue(yqData.get(i).getTriplDate());
// 设置日期类型的样式
// createRows.createCell(2).setCellStyle(cellStyle); createRows.createCell().setCellValue(yqData.get(i).getTripMode());
} //创建输出流
FileOutputStream fos = new FileOutputStream("F:\\poi.xlsx");
//写入到流中,创建这个excel文件
wb.write(fos);
//关闭流
fos.close();
} }
效果如下所示:

一脸懵逼学习Java操作Excel之POI(Apache POI)的更多相关文章
- [Training Video - 6] [File Reading] [Java] Read Excel File Using Apache POI API
读取以下两种格式的Excel : *.xls and *.xlsx 用Apache POI API来实现,需要用到 HSSF 和 XSSF 的类库 HSSF is the POI Project's ...
- Java操作Excel工具类(poi)
分享一个自己做的poi工具类,写不是很完全,足够我自己当前使用,有兴趣的可以自行扩展 1 import org.apache.commons.lang3.exception.ExceptionUtil ...
- java 操作Excel表 创建 查看 修改
需要用到jxl.jar包 修改有两种方法一种是jxl的 另一种需要apache.poi包 package excelChuLi; import java.io.File; import java. ...
- java操作excel文件
采用POI操作excel API:http://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFCell.html poi包:http ...
- Java 操作Excel 之Poi(第一讲)
1.Poi 简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能.HSSF - 提供读写Micros ...
- Java 操作 EXCEL
今天帮朋友写了一段用来处理EXCEL内容的程序,在这里记录下自己的学习过程.主要是对EXCEL表格中的内容做分类和统计,使用计算机来做这种重复的机械性地工作再好不过了.首先,我们需要下载一个java操 ...
- JAVA操作Excel时文字自适应单元格的宽度设置方法
使用JAVA操作Excel通常都使用JXL,方法很简单网上也有很多的教程,然后往往一些细节性的问题却导致我们这些Programmer苦恼不已.这两天帮一个朋友做一个Excel表格自动生成的小软件,就遇 ...
- java操作excel常用的两种方式
Excel是我们平时工作中比较常用的用于存储二维表数据的,JAVA也可以直接对Excel进行操作,在这篇博客中将为大家介绍两种操作Excel的方式,分别为:jxl和poi. 对于两者的区别网上有测试如 ...
- java操作Excel处理数字类型的精度损失问题验证
java操作Excel处理数字类型的精度损失问题验证: 场景: CELL_TYPE_NUMERIC-->CELL_TYPE_STRING--->CELL_TYPE_NUMERIC POI版 ...
随机推荐
- nc替代技术方案
powershell $client = New-Object System.Net.Sockets.TCPClient('127.0.0.1',4444);$stream = $client.Get ...
- 【转】Python数据类型之“文本序列(Text Sequence)”
[转]Python数据类型之“文本序列(Text Sequence)” Python中的文本序列类型 Python中的文本数据由str对象或字符串进行处理. 1.字符串 字符串是Unicode码值的不 ...
- ARMV7-M数据手册---Part B :System Level Architecture---B3 System Address Map
1.前言 2.The system address map 3.System Control Space (SCS) 4.The system timer, SysTick 5. Nested Vec ...
- systemd实践: 依据情况自动重启服务【转】
1.最简单的自动重启范例 [Unit] Description=mytest [Service] Type=simple ExecStart=/root/mytest.sh Restart=alway ...
- 【Tomcat】tomcat内存配置登记册
20141202: 环境:windows2003 tomcat6.x jdk1.6 启动方式:windows服务方式启动 启动异常:java.lang.OutOfMemoryError: PermGe ...
- const成员函数和mutable关键字
一.const成员函数 class MyClass { public: void fun() const { } private: int m_nValue; } const成员函数内不能修改成员变量 ...
- Linux i2c 读写程序
/* This software uses a BSD license. Copyright (c) 2010, Sean Cross / chumby industriesAll rights re ...
- JetBrains GoLand 2018 激活码/ 注册码(最新破解方法)
1 前言 本机测试环境如下: Goland版本:2018.1.5 电脑系统:win7 64位 JetbrainsCrack.jar:链接: https://pan.baidu.com/s/1blmN3 ...
- [HTTP] 基本认证的工作流程
HTTP的基本认证涉及两个字段,一个是请求字段 Authorization: Authorization: Basic xxx 一个是响应字段 WWW-Authenticate WWW-Authent ...
- linux之xxx 不在 sudoers 文件中,此事将被报告(转载)
linux中创建用户命令为:useradd 用户名, eg: useradd test 指定密码:passwd test 但是有时候我们需要使用test运行执行一些root用户才有权限执行的命令,此时 ...