Java 读写文件的几种方式
本篇文章转载自: https://www.cnblogs.com/MyTiMo/p/10998525.html
Java 把不同来源和目标的数据都统一抽象为数据流
Java语言的输入输出功能是十分强大而灵活的。
在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流等等。
这里介绍几种读写文件的方式。
IO Stream(字节流)//读取文件(字节流)FileInputStream in = new FileInputStream("d:\\1.txt");//写入相应的文件FileOutputStream out = new FileOutputStream("d:\\2.txt");//读取数据//一次性取多少字节byte[] bytes = new byte[2048];//接受读取的内容(n就代表的相关数据,只不过是数字的形式)int n = -1;//循环取出数据while ((n = in.read(bytes,0,bytes.length)) ...
Hexo 博客部署到服务器
说明本教程使用系统为 Centos 7.x。
服务器安装 Git如果 服务器端 没有安装 Git 程序,可以通过下面的命令来安装。
# 查看当前 Git 版本git --version# 安装 Gityum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-develyum install -y git
创建 Git 目录和博客目录在 服务器端 执行下面的命令来创建 Git 目录和博客目录。
# 切换目录cd /www/wwwroot/# 创建 Git 仓库git init --bare vsneko.git# 创建博客目录mkdir www.vsneko.com
修改 Git 推送设置通过创建 Hook 钩子函数,来将 Git 推送过来的文件保存到博客目录(而不是 Git 工作目录)。
# 切换目录cd vsneko.git/hooks/# 创建 post-receive 文件vi post-receive
进入编辑模式之后,输入如下内容:
#!/bin/shgit --work-tr ...
Git 学习笔记
说明Git 提供了很多命令来完成相应的操作。在此记录一些常用的命令,方便以后查阅。
环境配置当安装 Git 后首先要做的事情是设置用户名称和邮箱地址。这是非常重要的,因为每次 Git 提交都会使用该用户信息。
# 设置用户信息git config --global user.name "shironekoa3"git config --global user.email "shironekoa3@qq.com"# 查看用户信息git config --listgit config user.namegit config user.email
通过上面的命令设置的信息会保存在 ~/.gitconfig 文件中。
获取Git仓库要使用 Git 对代码进行版本控制,首先要获得 Git 仓库。
本地仓库使用此命令来将当前目录初始化成本地 Git 仓库。
git init
远程仓库git clone ${url}
${url} 为远程仓库地址。
一些概念版本库Git 目录里面的 .git 隐藏文件夹就是版本库,版本库 ...
MyBatis 学习笔记
MyBatis 简介
MyBatis 官方文档: https://mybatis.org/mybatis-3/zh/index.html
原始 JDBC 操作的分析原始 JDBC 开发存在的问题如下:
数据库连接创建、释放频繁,造成系统资源浪费从而影响系统性能
SQL 语句在代码中硬编码,造成代码不易维护,实际应用SQL变化的可能较大,SQL变动需要修改Java代码
查询操作时,需要手动将结果集中的数据封装到实体中,插入操作时需要手动将实体的数据设置到SQL语句的占位符位置
应对上述问题给出的解决方案:
使用数据库连接池初始化连接资源
将SQL语句抽取到XML配置文件中
使用反射、内省等底层技术,自动将实体与表进行属性与字段的映射
什么是 MyBatis
MyBatis 是一个优秀的、基于 Java 的持久层框架,它内部封装了 JDBC ,使开发者只需要关注SQL语句本身,而不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁琐的过程。
MyBatis 通过 xml 或注解的方式将要执行的各种 statement 配置起来,并通过 Java 对象和 stat ...
Spring MVC 学习笔记
Spring MVC 概述Spring MVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 中。
Spring MVC 开发步骤导入 Spring MVC 相关坐标<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.7.RELEASE</version></dependency>
配置Spring MVC 核心控制器 DispathcerServlet<!--配置 SpringMVC 的前端控制器--><servlet> <servlet-name>DispatcherServlet</servlet-name> <serv ...
Spring AOP 的简单笔记
AOP 简介AOP 即 Aspect Oriented Program 面向切面编程,在面向切面编程的思想里面,核心业务功能和切面功能分别独立进行开发,然后把切面功能和核心业务功能“编织”在一起,这就叫AOP。面向切面编程就是 Spring 最为重要的功能之一了,在数据库事务中切面编程被广泛使用。
AOP 的作用和优势作用: 在程序运行期间,不修改源码的情况下对方法进行功能增强。
优势: 减少重复代码,提高开发效率,并且便于维护。
AOP 实现原理基于 JDK 的动态代理TargetInterface proxy = (TargetInterface) Proxy.newProxyInstance( target.getClass().getClassLoader(), // 目标对象类加载器 target.getClass().getInterfaces(), // 目标对象相同的接口字节码对象数组 new InvocationHandler() { public Object invoke(Object proxy, Me ...
Spring JdbcTemplate 使用教程
JdbcTemplate 概述它是 Spring 框架中提供的一个对象,是对原始繁琐的 jdbc api 对象的简单封装。 Spring 框架为我们提供了很多的操作模板类,例如: 操作关系型数据的 JdbcTemplate 和 HibernateTemplate,操作 nosql 数据库的 RedisTemplate,操作消息队列的 JmsTemplate 等等。
JdbcTemplate 开发步骤导入坐标导入 spring-jdbc 和 spring-tx 的坐标。
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.2.7.RELEASE</version></dependency><dependency> <groupId>org.springframework</groupId> ...
Spring 框架学习笔记
Spring 配置文件Bean 标签配置<bean id="userDao" class="com.vsneko.dao.impl.UserDaoImpl" scope="singleton"></bean>
singleton:默认值,单例的。
对象创建:当应用加载,创建容器时,对象被创建。
对象运行:只要容器在,对象一直活着。
对象销毁:当应用卸载,销毁容器时,对象被销毁。
prototype:多例的。
对象创建:使用对象时,创建新的对象实例。
对象运行:只要对象在使用中,就一直活着。
对象销毁:当对象长时间不用时,被 Java 的垃圾回收器回收。
request:WEB 项目中,Spring 创建一个 Bean 对象,将对象存入到 request 域中。
session:WEB 项目中,Spring 创建一个 Bean 对象,将对象存入到 session 域中。
global session:WEB 项目中,应用在 Portlet 环境,如果没有 Portlet 环境,那么 global ...
网件 WNDR4300 路由器折腾日记
很早以前就知道 SSR 这种东西,是可以放在路由器上运行的,这样就可以让每个连接路由器网络的设备直接翻墙,省去了每个设备都要连接的麻烦,而且解决了部分设备没有翻墙客户端的问题(Switch)。
最近在油管上刷视频的时候,偶然看到 虚拟机安装OpenWrt 相关的视频,出于爱折腾的性心理,就自己动手试了一下。
几个小时的折腾过后,终于第一次用上了 OpenWrt 系统。
管理界面很漂亮,功能插件也多。这也太好用了吧!我将 SSR 节点导入 ShadowSockR Plus+ 插件中并配置,电脑可以正常扶墙,移动端修改网关之后也可以直接扶墙了,简直一颗赛艇。
两天之后,心态逐渐平稳了下来,发现还是有一些问题的。比如电脑必须要保持开机,比如每个设备都必须指定网关为电脑虚拟机的IP,使用起来还是有点麻烦的。
然后我就了解到了,可以直接将路由器的系统刷成 OpenWrt 系统,这样就可以解决上面的问题了。
经过一整天的了解和筛选,我最终选择了 网件 WNDR4300。从万能的某宝下单,两天之后就拿到了货。
由于在这方面还是小白,就让卖家直接帮我刷了 明月永在 的 OpenWrt 系统。
但是当 ...
Chrome 显示 WWW 和 HTTPS 方法
本篇文章转载自:https://www.cnblogs.com/sstfy/p/12027587.html
Chrome 78 以前的老版本将下面选项改成 disable 就行了。
chrome://flags/#omnibox-ui-hide-steady-state-url-scheme
chrome://flags/#omnibox-ui-hide-steady-state-url-trivial-subdomains
Chrome 78 版本Chrome 78 版本没有以上两项,可以在 chrome://flags/ 页面开启 console,执行下面的代码来显示 www 和 https。
['omnibox-ui-hide-steady-state-url-path-query-and-ref','omnibox-ui-hide-steady-state-url-scheme','omnibox-ui-hide-steady-state-url-trivial-subdomains'].forEach(func ...