IO流读取文件乱码,为什么?

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ page import="java.io.*"%>
<%@ page import="org.apache.struts2.ServletActionContext"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


/s:param
/s:fielderror<!-- 为什么这个存在时直接访问此界面时就不会报错,否则报错 -->
<% //request.setCharacterEncoding("UTF-8") ;
    String realpath = ServletActionContext.getServletContext()  
            .getRealPath("/upload");
     try {   
            // 创建文件输入流对象   
            FileInputStream is = new FileInputStream(realpath+"\\"+"nihao.doc");   
            // 设定读取的字节数   
            int n = 512;   
            byte buffer[] = new byte[n];   
            // 读取输入流   
            while (is.read(buffer, 0, n) >0) { 
                String str = new String(buffer);  
                out.print(str);  
                out.print("<br>"); 
            }   
            // 关闭输入流   
            is.close();   
            } catch (IOException ioe) {   
            System.out.println(ioe);   
            } catch (Exception e) {   
            System.out.println(e);   
            }
 %>


8个回答

主要思想:1,构建源;2构建目标;3,用输入输出流来实现传输;
字节输入、输出流:InputStream / OutputStream,字符输入、输出流Reader/Writer;
注:一般文本数据用字符流,其他格式数据用字节流;
InputStreamReader把一个InputStream转化成一个Reader;
BufferedReader通常和PrintWriter配合使用;
字......
答案就在这里:【insigma】IO流(文件读取)
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

构建源 构建目标 输入输出流实现传输

构建源 构建目标 输入输出流实现传输

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> 这里是 GB2312 看一下源文件是什么编码,如果编码不同就在读写的时候重新设置编码

// 创建文件输入流对象

FileInputStream is = new FileInputStream(realpath+"\"+"nihao.doc");

应该是这里出错了,比如你这个文件 是用UTF-8编码的。
然后你将这些字节转换成字符时,你没有指定解码的格式,一般是使用ISO.所以你读的时候要指定下解码的格式

FileInputStream is = new FileInputStream(realpath+"\"+"nihao.doc");

InputStreamRead read=new InputStreamRead(is,"UTF-8")//这里可以设置不同的解码方式

  // 设定读取的字节数   
        int n = 512;   
        byte buffer[] = new byte[n];   
        // 读取输入流   
        while (read.read(buffer, 0, n) >0) { 
            String str = new String(buffer);  
            out.print(str);  
            out.print("<br>"); 
        }   

使用InputStreamRead read=new InputStreamRead(is,"UTF-8")//这里可以设置不同的解码方式。
然后再从read里来读

没有设置编码,设置编码试试

<% 这里面的是java代码%>这个你可以debug调试下看看是什么错误

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
java io 读取输出文件中文乱码问题
java io 读取输出文件中文乱码问题。windows系统没有问题。服务器是linux,输出就是乱码。 [b]问题补充:[/b] 源码,大家看下 [b]问题补充:[/b] 现实页面!! [b]问题补充:[/b] ............... [b]问题补充:[/b] 所有方法都试了,还是不行 :cry: [b]问题补充:[/b] 问题解决了,谢谢各位。 闭着眼来吧,谁也别怪我啊 抽到谁是谁
用IO流BufferedReader读取文件的内容时,readLine()遍历的值是乱码怎么解决啊
![![图片说明](https://img-ask.csdn.net/upload/201704/18/1492497565_951141.png)图片说明](https://img-ask.csdn.net/upload/201704/18/1492497694_952091.png)![图片说明](https://img-ask.csdn.net/upload/201704/18/1492497839_435734.png)
如何使用Java.io的io流读取全部数据和一行数据和某列数据(这些数据不能出现乱码)
下面是C++数据文件的数据数据结构 struct scadalssjEX //历史事件数据结构 { __int32 bh ; //编号 __int32 ch ; //厂号 __int32 xh ; //点号 char cm[ 40 ] ; //厂名 char dm[ 60 ] ; //点名 char date[ 20 ] ; //日期 char time[ 20 ] ; //时间 char ms[ 120 ] ; //描述 char CITY[24] ; //城市名称 char province[30]; //省名 char LineName[24]; //线路名 char sjclass[ 20 ] ; //事件类别 char by[ 20 ] ; //备用 巡检中改成汇报人星迷 __int32 by1 ; //备用 __int32 del ; //删除标记(未被删除=-999) char DeviceName[28] ; //设备名称(改成资产编号) char JD_Name[20]; //接单人姓名 char JD_Time[20]; //接单时间或派单时间 __int32 JD_CL ; //接档处理结果 0 =未处理 1=正在处理 3=已经处理 char JD_CL_Image[40]; //接单处理照片文件名 char JD_CL_BG[40]; //接单处理报告文件名 __int32 BY3 ; //备用 char BY_String[40] ; //备用 改为工单号(组成:YYYYMMDDHHNNSSZZZ+测量点号8个字符) char Title[40] ; //标题 改为派单人姓名 char QX_TIME[20]; //抢修时间 char QX_Name[ 20] ; //抢修人员姓名 char JG_Name[40]; //监管人员姓名 char QX_NR[512] ; //抢修内容 char QX_JG[512] ; //抢修结果 char WCQJ_TIME[20] ; //完成抢修时间 }; 数据文件在百度网盘中 https://pan.baidu.com/s/14tgrnJHeSDvkVr9yT48KGA
java读取pdf文件出现中文乱码
代码如下,读取pdf文件时,出现中文字符乱码的情况,求大神解决。。 ![图片说明](https://img-ask.csdn.net/upload/201512/01/1448957510_127034.png) package read; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import com.linuxense.javadbf.DBFField; import com.linuxense.javadbf.DBFReader; public class readDbf { public static void main(String[] args){ String filePath = "e:/20151201.DBF"; read(filePath); } public static void read(String filePath){ InputStream in = null; try { //读取pdf文件 in = new FileInputStream(filePath); //根据输入流,读取一个dbfreader实例,用来读取dbf文件信息 DBFReader reader = new DBFReader(in); //获取DBF文件中字段的个数 int couNum = reader.getFieldCount(); //输出字段的个数 System.out.println("字段个数为:"+couNum); //取出字段信息 for(int i =0;i<couNum;i++){ DBFField field = reader.getField(i); //解决字段信息乱码 String fieldName = new String(field.getName().getBytes("??"),"utf-8"); //输出字段信息 System.out.print(fieldName+" "); } System.out.println(); //取出pdf文件中的数据 Object[] rowValues; while((rowValues = reader.nextRecord())!=null){ for(int i =0;i<rowValues.length;i++){ System.out.print(rowValues[i]+" "); } System.out.println(); } } catch (Exception e) { e.printStackTrace(); }finally{ try { in.close(); } catch (IOException e) { e.printStackTrace(); } } } }
readUTF()使用报 java.io.EOFException异常
今天在编程的时候,用到了DataInPutStream类的readUTF()方法时报了个异常,查了好多资料也不能解决,求大神指点啊.高分悬赏. ``` package IO流; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class DataTest { /** * 数据输入输出流 * */ public static void main(String[] args) throws IOException { //向指定文件中写入数据 //打开文件输出流 FileOutputStream fos=new FileOutputStream("G://word.txt"); //将此输出流链接到指定基础输出流DataOutPutStream DataOutputStream dos=new DataOutputStream(fos); //写入数据: dos.writeBytes("我是大禹!");//用此方法写入的数据用记事本打开是乱码 dos.writeChars("我治水!");//用此方法写入的数据用记事本打开是乱码 dos.writeUTF("你智障吗?"); //关闭流 fos.close(); //从文件中读取数据 //首先打开文件输入流 FileInputStream fis=new FileInputStream("G://word.txt"); //将此输入流连接到基本数据输入流DataInPutStream DataInputStream dis=new DataInputStream(fis); //开始读取数据啦 // String s=dis.readUTF(); System.out.println(dis.readUTF()); dis.close(); } } ``` 异常信息: Exception in thread "main" java.io.EOFException at java.io.DataInputStream.readFully(DataInputStream.java:180) at java.io.DataInputStream.readUTF(DataInputStream.java:592) at java.io.DataInputStream.readUTF(DataInputStream.java:547) at IO流.DataTest.main(DataTest.java:35)
vb提取PDF的文字内容, 都是乱码
如题 vb.net 如何提取 PDF的文字内容? 我用System.IO.StreamReader读取,都是乱码
一个关于java io流的编码问题
如上图的代码中,视频老师说不采用字符流会出现乱码,因为中文占两个字节,要是字节流读取的话一次只读取一个字节, 但是要是英文与中文同时存在的时候,按照上面的逻辑英文不就会产生乱码吗? 希望大家能给我解答一下,在这里表示感谢,百度上的答案与此问题并不相对应,并非伸手党, 再次感谢大家!!!
使用IO流将doc文档中的内容读取出来,并在终端显示!
<p><span style="color: #ff9900; font-size: x-small;">使用IO流将doc文档中的内容读取出来,并在终端显示~~~</span></p> <p>由于直接使用流进行读取的话,不论是选择“GBK”还是“UTF-8”编码,均出现一堆乱码!</p> <p>谢谢</p> <p>代码如下:</p> <p>&lt;pre&gt;</p> <p>public static void copy() throws IOException{<br>        BufferedReader bufis = <br>            new BufferedReader(new InputStreamReader(new FileInputStream("12.doc"), "utf-8"));<br>    <br>        String line = null;<br>        <br>        while ((line = bufis.readLine())!=null){<br>            System.out.println(line);<br>        }<br>    }</p> <p>&lt;/pre&gt;</p>
Java读取 中文都显示为乱码
package p8; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; public class Search { public static String getHtml(String urlString) { try { StringBuffer html = new StringBuffer(); URL url = new URL(urlString); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); InputStreamReader isr = new InputStreamReader(conn.getInputStream()); BufferedReader br = new BufferedReader(isr); ; String temp; while ((temp = br.readLine()) != null) { html.append(temp).append("\n"); } br.close(); isr.close(); return html.toString(); } catch (Exception e) { e.printStackTrace(); return null; } } public static void main(String[] args) { System.out.println(Search.getHtml("https://www.hao123.com/")); } } 最后的结果中中文都是乱码,怎么解决?
这是我整理的从文件夹中读取所有txt文件,并读取里面内容的java程序,问什么读出来的汉字是乱码?
import java.io.BufferedReader; import java.io.File; import java.io.FileFilter; import java.io.FileReader; import java.io.IOException; import java.nio.CharBuffer; import java.util.ArrayList; import java.util.List; public class Evaluation /*implements Runnable*/{ private File file = null; public static void main(String[] args) throws Exception{ String FILE_IN = "E:\\myImage"; File f = new File(FILE_IN); List<String> list = new ArrayList<String>(); list = getFileList(f); String text=null; System.out.println(list.size()); for (String l : list) { text=getTextFromTxt(l); System.out.println(text.toString()); } } public static List<String> getFileList(File file) { List<String> result = new ArrayList<String>(); if (!file.isDirectory()) { //System.out.println(file.getAbsolutePath()); result.add(file.getAbsolutePath()); } else { File[] directoryList = file.listFiles(new FileFilter() { public boolean accept(File file) { if (file.isFile() && file.getName().indexOf("txt") > -1) { return true; } else { return false; } } }); for (int i = 0; i < directoryList.length; i++) { result.add(directoryList[i].getPath()); } } return result; } public static String getTextFromTxt(String filePath) throws Exception { FileReader fr = new FileReader(filePath); BufferedReader br = new BufferedReader(fr); StringBuffer buff = new StringBuffer(); String temp = null; while ((temp = br.readLine()) != null) { buff.append(temp + "\r\n"); } br.close(); return buff.toString(); } } ``` 输出结果: 4 鍘嬬缉璁?鏂囦欢鍚嶏細88073 鏂囨湰妗嗘暟锛? 杈撳嚭瀛楃鏁帮細3 鏃堕棿:109.71428571428572 璧甸兘鎶?鏂囦欢鍚嶏細87769 鏂囨湰妗嗘暟锛? 杈撳嚭瀛楃鏁帮細3 鏃堕棿:117 ```
InputStream 乱码问题
package ioliu; import java.io.*; public class TestInputStream { public static void main(String[] args) throws Exception{ InputStream is = new FileInputStream("D:\\xunlei\\TestSocket.txt");//字节流 int ch; ch = is.read();//从输入流中读取数据的下一个字节。 while(-1 != is.read()) { System.out.printf("%c", ch); ch = is.read(); is.close(); } /*出现丢失,乱码 * ipr aai.; motjv.e.; ulccasTsSce ulcsai odmi(tig]ag)trw xeto,IEcpin{ okts e okt"2..."66) OtuSra s=s.eOtuSra(; aaupttemds=nwDtOtuSra(s; o.rtUF"el,evr)/×?? §??? o.ls(; o.ls(; tcoe) } */ import java.io.*; //这样能正确读出来,这是为什么 public class TestInputStream { public static void main(String[] args) throws Exception{ InputStream is = new FileInputStream("D:\\xunlei\\TestSocket.txt");//字节流 //byte[] b=new byte[1000]; //创建合适文件大小的字节数组 is.read(b); //读取文件中的内容到b[]数组 is.close(); System.out.println(new String(b)); } } /* import java.io.*; import java.net.*; public class TestSocket { public static void main(String[] args) throws Exception, IOException { Socket st = new Socket("127.0.0.1",6666); OutputStream os = st.getOutputStream(); DataOutputStream dos = new DataOutputStream(os); dos.writeUTF("hello,server");//阻塞式 效率较低 dos.flush(); dos.close(); st.close(); } } */
各位大神,为啥我这个程序运行之后会乱码?怎么样才能不乱码?
代码运行之后成这样了 ![图片说明](https://img-ask.csdn.net/upload/201604/14/1460602344_472443.png) 下面是代码 package demo12.datademo; import java.io.DataOutputStream ; import java.io.File ; import java.io.FileOutputStream ; public class DataOutputStreamDemo{ public static void main(String args[]) throws Exception{ // 所有异常抛出 DataOutputStream dos = null ; // 声明数据输出流对象 File f = new File("d:" + File.separator + "order.txt") ; // 文件的保存路径 dos = new DataOutputStream(new FileOutputStream(f)) ; // 实例化数据输出流对象 String names[] = {"衬衣","手套","围巾"} ; // 商品名称 float prices[] = {98.3f,30.3f,50.5f} ; // 商品价格 int nums[] = {3,2,1} ; // 商品数量 for(int i=0;i<names.length;i++){ // 循环输出 dos.writeChars(names[i]) ; // 写入字符串 dos.writeChar('\t') ; // 写入分隔符 dos.writeFloat(prices[i]) ; // 写入价格 dos.writeChar('\t') ; // 写入分隔符 dos.writeInt(nums[i]) ; // 写入数量 dos.writeChar('\n') ; // 换行 } dos.close() ; // 关闭输出流 } }; package demo12.datademo; import java.io.DataInputStream ; import java.io.File ; import java.io.FileInputStream ; public class DataInputStreamDemo{ public static void main(String args[]) throws Exception{ // 所有异常抛出 DataInputStream dis = null ; // 声明数据输入流对象 File f = new File("d:" + File.separator + "order.txt") ; // 文件的保存路径 dis = new DataInputStream(new FileInputStream(f)) ; // 实例化数据输入流对象 String name = null ; // 接收名称 float price = 0.0f ; // 接收价格 int num = 0 ; // 接收数量 char temp[] = null ; // 接收商品名称 int len = 0 ; // 保存读取数据的个数 char c = 0 ; // '\u0000' try{ while(true){ temp = new char[200] ; // 开辟空间 len = 0 ; while((c=dis.readChar())!='\t'){ // 接收内容 temp[len] = c ; len ++ ; // 读取长度加1 } name = new String(temp,0,len) ; // 将字符数组变为String price = dis.readFloat() ; // 读取价格 dis.readChar() ; // 读取\t num = dis.readInt() ; // 读取int dis.readChar() ; // 读取\n System.out.printf("名称:%s;价格:%5.2f;数量:%d\n",name,price,num) ; } }catch(Exception e){} dis.close() ; } };
关于JSp中表单内容提交后的乱码的问题
这是我开头的设置 <%@ page contentType="text/html" pageEncoding="GBK"%> <%@ page import="java.io.*"%> <%@ page import="java.util.*"%> 中间又写了 <%request.setCharacterEncoding("GBK");%>//防止乱码 最后一部分代码是 <% Scanner scan=new Scanner(new FileInputStream(file),"GBK"); scan.useDelimiter("\n"); StringBuffer buf=new StringBuffer(); while(scan.hasNext()) { buf.append(scan.next()).append("<br>"); } scan.close(); %> <%=buf%> 其中file文件,保存了表单提交后的信息,file文件中的信息没有乱码 全程设置为GBK,就是为了防止出现乱码·,结果数据读取,buf居然还是乱码 请高人指教····
JDBC读取数据库中文表名乱码
import java.io.FileWriter; import java.io.IOException; import java.io.Writer; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.XMLWriter; public class XmlNameWriter { /** * 利用dom4j生成XML * * @author Daniel Cheng */ static Logger logger=Logger.getLogger(XmlNameWriter.class.getClass()); public void createXML() { PropertyConfigurator.configure ( "D:\\workspace\\testlog4j.properties" ) ; String driver="com.mysql.jdbc.Driver"; String url="jdbc:mysql://localhost:3306/zczh?characterEncoding=gbk"; String username="root"; String password="233111"; Connection conn=null; Document doc = DocumentHelper.createDocument(); Element rootEle = doc.addElement("tables"); try{ Class.forName(driver); conn=DriverManager.getConnection(url, username, password); ResultSet rs=null; DatabaseMetaData dbmd=conn.getMetaData(); rs=dbmd.getTables(null, null, null, null); while(rs.next()){ [b]Element nameEle = rootEle .addElement("table"); String tablename=rs.getString(3); nameEle.setText(tablename); logger.debug(tablename+"表名已读取到");[/b]//此处获取的中文表名乱码,我在论坛里找了几个设置字符集的方法,试了之后依然乱码。怎样解决? } if(rs!=null){ rs.close(); } }catch(SQLException e){ logger.error(e.getMessage()); }catch(ClassNotFoundException e){ logger.error("error:"+e.getMessage()); }finally{ if(conn!=null){ try{ conn.close(); }catch(SQLException e){ logger.error("error:"+e.getMessage()); } } } try { Writer out = new FileWriter("tables.xml"); //格式化输出,类型IE浏览一样 OutputFormat format = OutputFormat.createPrettyPrint(); //OutputFormat format = OutputFormat.createCompactFormat(); format.setEncoding("gbk"); //创建写出对象 XMLWriter writer = new XMLWriter(out, format); writer.write(doc); writer.close(); System.out.println("生成tables.xml成功。"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("失败了。"); } } public static void main(String[] args) { new XmlNameWriter().createXML(); } }
eclipse生成xml文件编码错误问题,,
eclipse项目中编码是GBK,生成的xml文件是utf-8 利用dom4j ``` XMLWriter out = new XMLWriter(new FileOutputStream(new File("src/xml/users1.xml")),format); ```用字节流就正常, 而用 ```XMLWriter out = new XMLWriter(new FileWriter(new File("src/xml/users1.xml")),format); ``` 是怎么原理。我的理解是在字节输出流中,我读取的是GBK的编码的字节然后输出UTF-8编码的文件中,这才应该会乱码啊。 而我FileWriter读取的字符,再输出字符(即:由GBK编码的字节 转换成UTF-8编码的字节),反而成乱码了?? 对过去知识产生了混淆,求助。
JAVA字节流复制文本的内容到另个文本。请大神指点
出现报错byte words[] =new char[1024]; 改后byte words[] =new byte[1024];复制是成功但内容是乱码。 package Test2; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; /** * @param args * 上机练习2:(复制文本文件)247页 */ public class FileInorOut2 { public static void main(String[] args) { //声明流对象 FileInputStream fis=null; FileOutputStream fos=null; try { //1、创建输入流对象,负责读取内容 fis=new FileInputStream("G:/我的青春谁做主.txt"); //2、创建输出流对象,将写入内容 fos=new FileOutputStream("E:/myFile/myPrime.txt"); //3、创建中转站数组,存放每次读取的内容 byte words[] =new byte[1024]; //4、通过循环实现文件读写 while ((fis.read())!=-1) { fis.read (words); //读取文件 fos.write(words,0,words.length);//写入文件 } System.out.println("内容复制成功!"); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ //5、关闭流 try { if (fis!=null) { fos.close(); } if (fos!=null) { fis.close(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
带logo的二维码解析出来是乱码
我操网上找了一个生成二维码的,可是一直找不到原因为何第二个带logo的二维码解析出来是乱码呀 ``` package com.qrcode; import java.awt.image.BufferedImage; import java.io.File; import javax.imageio.ImageIO; import jp.sourceforge.qrcode.QRCodeDecoder; import jp.sourceforge.qrcode.data.QRCodeImage; public final class DecodeImgQrcode { public static String decodeImg(File imgFile){ BufferedImage image = null; String content = null; try { image = ImageIO.read(imgFile); QRCodeDecoder decoder = new QRCodeDecoder(); content = new String(decoder.decode(new CodeImg(image)),"utf-8"); } catch (Exception e) { System.out.println("二维码解析失败!"+e.getMessage()); e.printStackTrace(); } return content; } } final class CodeImg implements QRCodeImage{ private BufferedImage image; public CodeImg(BufferedImage image) { super(); this.image = image; } @Override public int getHeight() { return image.getHeight(); } @Override public int getPixel(int x, int y) { return image.getRGB(x, y); } @Override public int getWidth() { return image.getWidth(); } public BufferedImage getImage() { return image; } public void setImage(BufferedImage image) { this.image = image; } } ``` ``` package com.qrcode; import java.awt.Color; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.io.OutputStream; import javax.imageio.ImageIO; import com.swetake.util.Qrcode; /** * 通过qrcode实现二维码 * * @author tskk * @version 2015-6-28 23:15:11 * */ public final class EncodeImgQrcode { /** * 绘制二维码 * * @param contents二维码内容 * @return image 二维码图片 * */ public static BufferedImage encodeImg(String contents) { BufferedImage image = null; try { Qrcode qrcode = new Qrcode(); /* * 二维码的纠错级别(排错率),共有四级:可选L(7%)、M(15%)、Q(25%)、H(30%)(最高H)。 * 纠错信息同样存储在二维码中,纠错级别越高,纠错信息占用的空间越多,那么能存储的有用信息就越少,对二维码清晰度的要求越小 */ qrcode.setQrcodeErrorCorrect('M'); // 编码模式:Numeric 数字, Alphanumeric 英文字母,Binary 二进制,Kanji 汉字(第一个大写字母表示) qrcode.setQrcodeEncodeMode('B'); /* * 二维码的版本号:也象征着二维码的信息容量;二维码可以看成一个黑白方格矩阵,版本不同,矩阵长宽方向方格的总数量分别不同。 * 1-40总共40个版本,版本1为21*21矩阵,版本每增1,二维码的两个边长都增4; 版本2 * 为25x25模块,最高版本为是40,是177*177的矩阵; */ qrcode.setQrcodeVersion(7); // 获取内容的字节数组,设置编码格式 byte[] contentBytes = contents.getBytes("utf-8"); // 图片尺寸,会根据version的变大,而变大,自己需要计算 int imgSize = 139; image = new BufferedImage(imgSize, imgSize, BufferedImage.TYPE_INT_RGB); // 获取画笔 Graphics2D gs = image.createGraphics(); // 设置背景色 白色 gs.setBackground(Color.WHITE); gs.clearRect(0, 0, imgSize, imgSize); // 设定图像颜色 黑色 gs.setColor(Color.BLACK); // 设置偏移量,不设置可能导致二维码生产错误(解析失败出错) int pixoff = 2; // 二维码输出 if (contentBytes.length > 0 && contentBytes.length < 150) { boolean[][] code = qrcode.calQrcode(contentBytes); int codeLen = code.length; for (int i = 0; i < codeLen; i++) { for (int j = 0; j < codeLen; j++) { if (code[j][i]) { gs.fillRect(j * 3 + pixoff, i * 3 + pixoff, 3, 3); } } } } else { System.out .println("This is content bytes length not in [0,150]."); } gs.dispose(); image.flush(); } catch (Exception e) { System.out.println("生成二维码失败" + e.getMessage()); } return image; } /** * 二维码输出到文件 * * @param contents * 二维码内容 * @param format * 图片格式 * @param file * 输出文件 * */ public static void writeToFile(String contents, String format, File file) { BufferedImage image = encodeImg(contents); try { ImageIO.write(image, format, file); } catch (IOException e) { System.out.println("二维码写入文件失败" + e.getMessage()); } } /** * 二维码流式输出 * * @param contents * 二维码内容 * @param format * 图片格式 * @param stream * 输出流 * */ public static void writeToStream(String contents, String format, OutputStream stream) { BufferedImage image = encodeImg(contents); try { ImageIO.write(image, format, stream); } catch (IOException e) { System.out.println("二维码写入流失败" + e.getMessage()); } } } ``` ``` package com.qrcode; import java.io.File; public class EncodeImgQrcodeTest { public static void main(String[] args) { String contents = "3119772366"; String format = "jpeg"; File logoImg = new File("D:"+File.separator+"qianyuqianxun.jpg"); File img = new File("D:"+File.separator+"csdn.jpg"); //生成二维码 EncodeImgQrcode.writeToFile(contents, format, img); //添加logo图片 File img1 = new File("D:"+File.separator+"csdnlogo.jpg"); EncodeImgZingLogo.writeToFile(img, logoImg, format, img1); //解析二维码 String content = DecodeImgQrcode.decodeImg(img); System.out.println("1:"+content); String content1 = DecodeImgQrcode.decodeImg(img1); System.out.println("2:"+content1); } } ``` ``` package com.qrcode; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.io.OutputStream; import javax.imageio.ImageIO; public final class EncodeImgZingLogo { /** * 二维码绘制logo * * @param twodimensioncodeImg 二维码图片文件 * @param logoImg logo图片文件 * */ public static BufferedImage encodeImgLogo(File twodimensioncodeImg, File logoImg) { BufferedImage twodimensioncode = null; try { if (!twodimensioncodeImg.isFile() || !logoImg.isFile()) { System.out.println("输入非图片"); return null; } // 读取二维码图片 twodimensioncode = ImageIO.read(twodimensioncodeImg); // 获取画笔 Graphics2D g = twodimensioncode.createGraphics(); // 读取logo图片 BufferedImage logo = ImageIO.read(logoImg); // 设置二维码大小,太大,会覆盖二维码,此处20% int logoWidth = logo.getWidth(null) > twodimensioncode.getWidth() * 2 / 10 ? (twodimensioncode.getWidth() * 2 / 10) : logo.getWidth(null); int logoHeight = logo.getHeight(null) > twodimensioncode.getHeight() * 2 / 10 ? (twodimensioncode.getHeight() * 2 / 10) : logo.getHeight(null); // 设置logo图片放置位置 // 中心 int x = (twodimensioncode.getWidth() - logoWidth) / 2; int y = (twodimensioncode.getHeight() - logoHeight) / 2; // 右下角,15为调整值 // int x = twodimensioncode.getWidth() - logoWidth-15; // int y = twodimensioncode.getHeight() - logoHeight-15; // 开始合并绘制图片 g.drawImage(logo, x, y, logoWidth, logoHeight, null); g.drawRoundRect(x, y, logoWidth, logoHeight, 15, 15); // logo边框大小 g.setStroke(new BasicStroke(2)); // logo边框颜色 g.setColor(Color.WHITE); g.drawRect(x, y, logoWidth, logoHeight); g.dispose(); logo.flush(); twodimensioncode.flush(); } catch (Exception e) { System.out.println("二维码绘制logo失败"); } return twodimensioncode; } /** * 二维码输出到文件 * * @param twodimensioncodeImg 二维码图片文件 * @param logoImg logo图片文件 * @param format 图片格式 * @param file 输出文件 * */ public static void writeToFile(File twodimensioncodeImg, File logoImg, String format, File file) { BufferedImage image = encodeImgLogo(twodimensioncodeImg, logoImg); try { ImageIO.write(image, format, file); } catch (IOException e) { System.out.println("二维码写入文件失败" + e.getMessage()); } } /** * 二维码流式输出 * * @param twodimensioncodeImg 二维码图片文件 * @param logoImg logo图片文件 * @param format 图片格式 * @param stream 输出流 * */ public static void writeToStream(File twodimensioncodeImg, File logoImg, String format, OutputStream stream) { BufferedImage image = encodeImgLogo(twodimensioncodeImg, logoImg); try { ImageIO.write(image, format, stream); } catch (IOException e) { System.out.println("二维码写入流失败" + e.getMessage()); } } } ```
java FileReader使用的时候不能正确的显示中文字符,希望大牛帮忙看看
下面是我的源代码,我用了下面几种方式进行编辑,运行的结果都有乱码,我真是想不明白了,请大牛帮我看看。 第一种方式编译 E:\java\8>javac -encoding utf-8 TestFileReader.java 第二种方式编译 E:\java\8>javac -encoding gbk TestFileReader.java 第三种方式编译 E:\java\8>javac -encoding gb2312 TestFileReader.java 第四种方式编译 E:\java\8>javac -encoding iso-8859-1 TestFileReader.java import java.io.*; public class TestFileReader{ public static void main(String[] args){ FileReader fr = null; try{ fr = new FileReader("e:\\java\\8\\TestFileReader.java"); }catch(FileNotFoundException e){ System.out.println("没有找到制定的文件!"); System.exit(-1); } int c = 0;//当前读取的字符 int num = 0;//读取的字符总数 try{ while((c=fr.read())!=-1){ System.out.print((char)c); num ++; } System.out.println("读取的字符总数:" + num ); } catch(IOException e){ System.out.println("读取文件错误!"); System.exit(-1); } } }
急 在线等 谢谢!java想要读取excel中某以特定单元格的值,现在是循环读出所有的值,请帮忙修改一下
package com.excel.action; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFDateUtil; 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 jxl.Workbook; import jxl.format.Alignment; import jxl.format.Border; import jxl.format.BorderLineStyle; import jxl.format.Colour; import jxl.format.UnderlineStyle; import jxl.write.Label; import jxl.write.NumberFormats; import jxl.write.WritableCellFormat; import jxl.write.WritableFont; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import jxl.write.WriteException; import jxl.write.biff.RowsExceededException; public class JxlTable { private final static JxlTable jxlTable = new JxlTable(); public static JxlTable getInstance() { return jxlTable; } public JxlTable() { } public boolean createTable(String[][] body, String filePath,int rowLength) { boolean createFlag = true; WritableWorkbook book; try { // 根据路径生成excel文件 book = Workbook.createWorkbook(new File(filePath)); // 创建一个sheet名为"表格" WritableSheet sheet = book.createSheet("表格", 0); // 设置NO列宽度 sheet.setColumnView(1, 5); // 去掉整个sheet中的网格线 sheet.getSettings().setShowGridLines(false); Label tempLabel = null; // 表体输出 int bodyLen = body.length; String[][] bodyTempArr = body ; // 循环写入表体内容 for(int i=0;i<rowLength;i++) { for(int j=0;j<body[i].length;j++) { WritableCellFormat tempCellFormat = null; tempCellFormat = getBodyCellStyle(); if (tempCellFormat != null) { if (j == 0 || j == (bodyTempArr.length - 1)) { tempCellFormat.setAlignment(Alignment.CENTRE); } } tempLabel = new Label(1 + j, 2 + i, bodyTempArr[i][j], tempCellFormat); sheet.addCell(tempLabel); } } book.write(); book.close(); } catch (IOException e) { createFlag = false; System.out.println("EXCEL创建失败!"); e.printStackTrace(); } catch (RowsExceededException e) { createFlag = false; System.out.println("EXCEL单元设置创建失败!"); e.printStackTrace(); } catch (WriteException e) { createFlag = false; System.out.println("EXCEL写入失败!"); e.printStackTrace(); } return createFlag; } public WritableCellFormat getHeaderCellStyle() { WritableFont font = new WritableFont(WritableFont.createFont("宋体"), 10, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE); WritableCellFormat headerFormat = new WritableCellFormat( NumberFormats.TEXT); try { // 添加字体设置 headerFormat.setFont(font); // 设置单元格背景色:表头为黄色 headerFormat.setBackground(Colour.YELLOW); // 设置表头表格边框样式 // 整个表格线为粗线、黑色 headerFormat.setBorder(Border.ALL, BorderLineStyle.THICK, Colour.BLACK); // 表头内容水平居中显示 headerFormat.setAlignment(Alignment.CENTRE); } catch (WriteException e) { System.out.println("表头单元格样式设置失败!"); } return headerFormat; } public WritableCellFormat getBodyCellStyle() { WritableFont font = new WritableFont(WritableFont.createFont("宋体"), 10, WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE); WritableCellFormat bodyFormat = new WritableCellFormat(font); try { // 设置单元格背景色:表体为白色 bodyFormat.setBackground(Colour.WHITE); // 设置表头表格边框样式 // 整个表格线为细线、黑色 bodyFormat .setBorder(Border.ALL, BorderLineStyle.THIN, Colour.BLACK); } catch (WriteException e) { System.out.println("表体单元格样式设置失败!"); } return bodyFormat; } /** * 读取Excel的内容,第一维数组存储的是一行中格列的值,二维数组存储的是多少个行 * @param file 读取数据的源Excel * @param ignoreRows 读取数据忽略的行数,比喻行头不需要读入 忽略的行数为1 * @return 读出的Excel中数据的内容 * @throws FileNotFoundException * @throws IOException */ public static String[][] getData(File file, int ignoreRows) throws FileNotFoundException, IOException { List<String[]> result = new ArrayList<String[]>(); int rowSize = 0; BufferedInputStream in = new BufferedInputStream(new FileInputStream( file)); // 打开HSSFWorkbook POIFSFileSystem fs = new POIFSFileSystem(in); HSSFWorkbook wb = new HSSFWorkbook(fs); HSSFCell cell = null; for (int sheetIndex = 0; sheetIndex < wb.getNumberOfSheets(); sheetIndex++) { HSSFSheet st = wb.getSheetAt(sheetIndex); // 第一行为标题,不取 for (int rowIndex = ignoreRows; rowIndex <= st.getLastRowNum(); rowIndex++) { HSSFRow row = st.getRow(rowIndex); if (row == null) { continue; } int tempRowSize = row.getLastCellNum() + 1; if (tempRowSize > rowSize) { rowSize = tempRowSize; } String[] values = new String[rowSize]; Arrays.fill(values, ""); boolean hasValue = false; for (short columnIndex = 0; columnIndex <= row.getLastCellNum(); columnIndex++) { String value = ""; cell = row.getCell(columnIndex); if (cell != null) { // 注意:一定要设成这个,否则可能会出现乱码 cell.setEncoding(HSSFCell.ENCODING_UTF_16); switch (cell.getCellType()) { case HSSFCell.CELL_TYPE_STRING: value = cell.getStringCellValue(); break; case HSSFCell.CELL_TYPE_NUMERIC: if (HSSFDateUtil.isCellDateFormatted(cell)) { Date date = cell.getDateCellValue(); if (date != null) { value = new SimpleDateFormat("yyyy-MM-dd") .format(date); } else { value = ""; } } else { value = new DecimalFormat("0").format(cell .getNumericCellValue()); } break; case HSSFCell.CELL_TYPE_FORMULA: // 导入时如果为公式生成的数据则无值 if (!cell.getStringCellValue().equals("")) { value = cell.getStringCellValue(); } else { value = cell.getNumericCellValue() + ""; } break; case HSSFCell.CELL_TYPE_BLANK: break; case HSSFCell.CELL_TYPE_ERROR: value = ""; break; case HSSFCell.CELL_TYPE_BOOLEAN: value = (cell.getBooleanCellValue() == true ? "Y" : "N"); break; default: value = ""; } } if (columnIndex == 0 && value.trim().equals("")) { break; } values[columnIndex] = rightTrim(value); hasValue = true; } if (hasValue) { result.add(values); } } } in.close(); String[][] returnArray = new String[result.size()][rowSize]; for (int i = 0; i < returnArray.length; i++) { returnArray[i] = (String[]) result.get(i); } return returnArray; } /** * 去掉字符串右边的空格 * @param str 要处理的字符串 * @return 处理后的字符串 */ public static String rightTrim(String str) { if (str == null) { return ""; } int length = str.length(); for (int i = length - 1; i >= 0; i--) { if (str.charAt(i) != 0x20) { break; } length--; } return str.substring(0, length); } public static void main(String[] args) throws Exception { File file = new File("F:/tomcat7/webapps/Excel/upload/3.xls"); String[][] result = getData(file, 1); int rowLength = result.length; System.out.println("rowLength="+rowLength); for(int i=0;i<rowLength;i++) { for(int j=0;j<result[i].length;j++) { System.out.print(result[i][j]+"\t\t"); } System.out.println(); } String[][] body = result; String filePath = "F:/tomcat7/webapps/Excel/upload/68.xls"; JxlTable testJxl = JxlTable.getInstance(); boolean flag = testJxl.createTable(body, filePath,rowLength); if (flag) { System.out.println("表格创建成功!!"); } } }
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私有的数
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
此博客仅为我业余记录文章所用,发布到此,仅供网友阅读参考,如有侵权,请通知我,我会删掉。 补充 有不少读者留言说本文章没有用,因为天气预报直接打开手机就可以收到了,为何要多此一举发送到邮箱呢!!!那我在这里只能说:因为你没用,所以你没用!!! 这里主要介绍的是思路,不是天气预报!不是天气预报!!不是天气预报!!!天气预报只是用于举例。请各位不要再刚了!!! 下面是我会用到的两个场景: 每日下
死磕YOLO系列,YOLOv1 的大脑、躯干和手脚
YOLO 是我非常喜欢的目标检测算法,堪称工业级的目标检测,能够达到实时的要求,它帮我解决了许多实际问题。 这就是 YOLO 的目标检测效果。它定位了图像中物体的位置,当然,也能预测物体的类别。 之前我有写博文介绍过它,但是每次重新读它的论文,我都有新的收获,为此我准备写一个系列的文章来详尽分析它。这是第一篇,从它的起始 YOLOv1 讲起。 YOLOv1 的论文地址:https://www.c...
知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)
知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?” 事实上,还不少呢~ 本人于2019.7.6进行了较为全面的回答,对这些受欢迎的 Github 开源项目分类整理如下: 分布式计算、云平台相关工具类 1.SkyWalking,作者吴晟、刘浩杨 等等 仓库地址: apache/skywalking 更...
20行Python代码爬取王者荣耀全英雄皮肤
引言 王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了。我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即可完成。 准备工作 爬取皮肤本身并不难,难点在于分析,我们首先得得到皮肤图片的url地址,话不多说,我们马上来到王者荣耀的官网: 我们点击英雄资料,然后随意地选择一位英雄,接着F12打开调试台,找到英雄原皮肤的图片...
简明易理解的@SpringBootApplication注解源码解析(包含面试提问)
欢迎关注文章系列 ,关注我 《提升能力,涨薪可待》 《面试知识,工作可待》 《实战演练,拒绝996》 欢迎关注我博客,原创技术文章第一时间推出 也欢迎关注公 众 号【Ccww笔记】,同时推出 如果此文对你有帮助、喜欢的话,那就点个赞呗,点个关注呗! 《提升能力,涨薪可待篇》- @SpringBootApplication注解源码解析 一、@SpringBootApplication 的作用是什...
西游记团队中如果需要裁掉一个人,会先裁掉谁?
2019年互联网寒冬,大批企业开始裁员,下图是网上流传的一张截图: 裁员不可避免,那如何才能做到不管大环境如何变化,自身不受影响呢? 我们先来看一个有意思的故事,如果西游记取经团队需要裁员一名,会裁掉谁呢,为什么? 西游记团队组成: 1.唐僧 作为团队teamleader,有很坚韧的品性和极高的原则性,不达目的不罢休,遇到任何问题,都没有退缩过,又很得上司支持和赏识(直接得到唐太宗的任命,既给袈...
Python语言高频重点汇总
Python语言高频重点汇总 GitHub面试宝典仓库 回到首页 目录: Python语言高频重点汇总 目录: 1. 函数-传参 2. 元类 3. @staticmethod和@classmethod两个装饰器 4. 类属性和实例属性 5. Python的自省 6. 列表、集合、字典推导式 7. Python中单下划线和双下划线 8. 格式化字符串中的%和format 9. 迭代器和生成器 10...
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外
ES6基础-ES6的扩展
进行对字符串扩展,正则扩展,数值扩展,函数扩展,对象扩展,数组扩展。 开发环境准备: 编辑器(VS Code, Atom,Sublime)或者IDE(Webstorm) 浏览器最新的Chrome 字符串的扩展: 模板字符串,部分新的方法,新的unicode表示和遍历方法: 部分新的字符串方法 padStart,padEnd,repeat,startsWith,endsWith,includes 字...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/ 
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
你知道的越多,你不知道的越多 点赞再看,养成习惯 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Star和完善,大家面试可以参照考点复习,希望我们一起有点东西。 前前言 为啥今天有个前前言呢? 因为你们的丙丙啊,昨天有牌面了哟,直接被微信官方推荐,知乎推荐,也就仅仅是还行吧(心里乐开花)
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca
Python爬虫精简步骤1 获取数据
爬虫的工作分为四步: 1.获取数据。爬虫程序会根据我们提供的网址,向服务器发起请求,然后返回数据。 2.解析数据。爬虫程序会把服务器返回的数据解析成我们能读懂的格式。 3.提取数据。爬虫程序再从中提取出我们需要的数据。 4.储存数据。爬虫程序把这些有用的数据保存起来,便于你日后的使用和分析。 这一篇的内容就是:获取数据。 首先,我们将会利用一个强大的库——requests来获取数据。 在电脑上安装
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东
破14亿,Python分析我国存在哪些人口危机!
2020年1月17日,国家统计局发布了2019年国民经济报告,报告中指出我国人口突破14亿。 猪哥的朋友圈被14亿人口刷屏,但是很多人并没有看到我国复杂的人口问题:老龄化、男女比例失衡、生育率下降、人口红利下降等。 今天我们就来分析一下我们国家的人口数据吧! 更多有趣分析教程,扫描下方二维码关注vx公号「裸睡的猪」 即可查看! 一、背景 1.人口突破14亿 2020年1月17日,国家统计局发布
web前端javascript+jquery知识点总结
Javascript javascript 在前端网页中占有非常重要的地位,可以用于验证表单,制作特效等功能,它是一种描述语言,也是一种基于对象(Object)和事件驱动并具有安全性的脚本语言 ,语法同java类似,是一种解释性语言,边执行边解释。 JavaScript的组成: ECMAScipt 用于描述: 语法,变量和数据类型,运算符,逻辑控制语句,关键字保留字,对象。 浏览器对象模型(Br
Qt实践录:开篇
本系列文章介绍笔者的Qt实践之路。
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ......
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。   再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。   下文是原回答,希望能对你能有所启发。   如果我说,这个世界上人真的分三六九等,
为什么听过很多道理,依然过不好这一生?
记录学习笔记是一个重要的习惯,不希望学习过的东西成为过眼云烟。做总结的同时也是一次复盘思考的过程。 本文是根据阅读得到 App上《万维钢·精英日课》部分文章后所做的一点笔记和思考。学习是一个系统的过程,思维模型的建立需要相对完整的学习和思考过程。以下观点是在碎片化阅读后总结的一点心得总结。
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合
雷火神山直播超两亿,Web播放器事件监听是怎么实现的?
Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播。在视频业务大数据平台中,播放数据的统计分析非常重要,所以Web播放器在使用过程中,需要对其内部的数据进行收集并上报至服务端,此时,就需要对发生在其内部的一些播放行为进行事件监听。 那么Web播放器事件监听是怎么实现的呢? 01 监听事件明细表 名
3万字总结,Mysql优化之精髓
本文知识点较多,篇幅较长,请耐心学习 MySQL已经成为时下关系型数据库产品的中坚力量,备受互联网大厂的青睐,出门面试想进BAT,想拿高工资,不会点MySQL优化知识,拿offer的成功率会大大下降。 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计
一条链接即可让黑客跟踪你的位置! | Seeker工具使用
搬运自:冰崖的部落阁(icecliffsnet) 严正声明:本文仅限于技术讨论,严禁用于其他用途。 请遵守相对应法律规则,禁止用作违法途径,出事后果自负! 上次写的防社工文章里边提到的gps定位信息(如何防止自己被社工或人肉) 除了主动收集他人位置信息以外,我们还可以进行被动收集 (没有技术含量) Seeker作为一款高精度地理位置跟踪工具,同时也是社交工程学(社会工程学)爱好者...
作为程序员的我,大学四年一直自学,全靠这些实用工具和学习网站!
我本人因为高中沉迷于爱情,导致学业荒废,后来高考,毫无疑问进入了一所普普通通的大学,实在惭愧...... 我又是那么好强,现在学历不行,没办法改变的事情了,所以,进入大学开始,我就下定决心,一定要让自己掌握更多的技能,尤其选择了计算机这个行业,一定要多学习技术。 在进入大学学习不久后,我就认清了一个现实:我这个大学的整体教学质量和学习风气,真的一言难尽,懂的人自然知道怎么回事? 怎么办?我该如何更好的提升
前端JS初级面试题二 (。•ˇ‸ˇ•。)老铁们!快来瞧瞧自己都会了么
1. 传统事件绑定和符合W3C标准的事件绑定有什么区别? 传统事件绑定 &lt;div onclick=""&gt;123&lt;/div&gt; div1.onclick = function(){}; &lt;button onmouseover=""&gt;&lt;/button&gt; 注意: 如果给同一个元素绑定了两次或多次相同类型的事件,那么后面的绑定会覆盖前面的绑定 (不支持DOM事...
相关热词 c#导入fbx c#中屏蔽键盘某个键 c#正态概率密度 c#和数据库登陆界面设计 c# 高斯消去法 c# codedom c#读取cad文件文本 c# 控制全局鼠标移动 c# temp 目录 bytes初始化 c#
立即提问