Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小雨青年
Java Demo
提交
cd729752
J
Java Demo
项目概览
小雨青年
/
Java Demo
通知
53
Star
2
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
Java Demo
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
cd729752
编写于
12月 08, 2021
作者:
X
xiaoyu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add thread stream
上级
aaa61e68
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
151 addition
and
0 deletion
+151
-0
src/main/java/com/example/demo/controller/StreamController.java
...in/java/com/example/demo/controller/StreamController.java
+63
-0
src/main/java/com/example/demo/controller/ThreadController.java
...in/java/com/example/demo/controller/ThreadController.java
+42
-0
src/main/java/com/example/demo/tool/Task.java
src/main/java/com/example/demo/tool/Task.java
+22
-0
src/main/java/com/example/demo/tool/TaskRunnable.java
src/main/java/com/example/demo/tool/TaskRunnable.java
+24
-0
未找到文件。
src/main/java/com/example/demo/controller/StreamController.java
0 → 100644
浏览文件 @
cd729752
package
com.example.demo.controller
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.io.*
;
/**
* 数据流
*/
@RestController
@RequestMapping
(
"/"
)
public
class
StreamController
{
/**
* 字符数据流
*/
@GetMapping
(
"/character"
)
public
void
characterDemo
()
throws
IOException
{
//CharArrayWriter用来接收数据
CharArrayWriter
charArrayWriter
=
new
CharArrayWriter
();
charArrayWriter
.
write
(
"cat1"
);
//可以是字符串或者下面的字节数组
char
[]
char01
=
{
'c'
,
'a'
,
't'
,
'2'
};
charArrayWriter
.
write
(
char01
);
char
[]
char02
=
charArrayWriter
.
toCharArray
();
//转字符数组
System
.
out
.
print
(
char02
);
System
.
out
.
print
(
"\r\n"
);
CharArrayReader
charArrayReader
=
new
CharArrayReader
(
char02
);
CharArrayReader
reader
=
new
CharArrayReader
(
char02
);
while
(
charArrayReader
.
read
()
!=
-
1
){
//读数据
System
.
out
.
print
((
char
)
reader
.
read
());
}
System
.
out
.
print
(
"\r\n"
);
//推荐使用
BufferedReader
bufferedReader
=
new
BufferedReader
(
new
CharArrayReader
(
char02
));
System
.
out
.
print
(
bufferedReader
.
readLine
());
}
/**
* 字节数据流&文件流
*/
@PostMapping
(
"/byte"
)
public
void
byteDemo
(
@RequestPart
@RequestParam
(
"file"
)
MultipartFile
file
)
throws
IOException
{
String
filename
=
file
.
getOriginalFilename
();
//获取文件名
byte
[]
fileContent
=
file
.
getBytes
();
FileOutputStream
fileOutputStream
=
new
FileOutputStream
(
"test.txt"
);
fileOutputStream
.
write
(
fileContent
);
//写入
fileOutputStream
.
close
();
//关闭
File
file2
=
new
File
(
"test2.txt"
);
File
file2rename
=
new
File
(
"test2rename.txt"
);
file2
.
renameTo
(
file2rename
);
if
(
file2
.
createNewFile
()
==
false
){
System
.
out
.
print
(
"文件新建失败"
);
}
file2
.
delete
();
//删除
}
}
src/main/java/com/example/demo/controller/ThreadController.java
0 → 100644
浏览文件 @
cd729752
package
com.example.demo.controller
;
import
com.example.demo.tool.Task
;
import
com.example.demo.tool.TaskRunnable
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* 多线程
*/
@RestController
@RequestMapping
(
"/"
)
public
class
ThreadController
{
@GetMapping
(
"/thread"
)
public
void
threadDemo
(){
Task
thread1
=
new
Task
();
Task
thread2
=
new
Task
();
Task
thread3
=
new
Task
();
thread1
.
setName
(
"task1"
);
thread2
.
setName
(
"task2"
);
thread3
.
setName
(
"task3"
);
thread1
.
start
();
thread2
.
start
();
thread3
.
start
();
}
@GetMapping
(
"/runnable"
)
public
void
runnableDemo
(){
TaskRunnable
taskRunnable
=
new
TaskRunnable
();
Thread
thread1
=
new
Thread
(
taskRunnable
,
"task1"
);
Thread
thread2
=
new
Thread
(
taskRunnable
,
"task2"
);
Thread
thread3
=
new
Thread
(
taskRunnable
,
"task3"
);
thread1
.
start
();
thread2
.
start
();
thread3
.
start
();
}
}
src/main/java/com/example/demo/tool/Task.java
0 → 100644
浏览文件 @
cd729752
package
com.example.demo.tool
;
import
lombok.SneakyThrows
;
public
class
Task
extends
Thread
{
int
count
=
0
;
@SneakyThrows
@Override
public
void
run
()
{
while
(
true
){
if
(
count
>
5
){
break
;
}
System
.
out
.
print
(
this
.
getName
()
+
":"
+
String
.
valueOf
(
count
)
+
"\r\n"
);
count
++;
Thread
.
sleep
(
500
);
}
super
.
run
();
}
}
src/main/java/com/example/demo/tool/TaskRunnable.java
0 → 100644
浏览文件 @
cd729752
package
com.example.demo.tool
;
import
lombok.SneakyThrows
;
/**
* 实现了Runnable接口
*/
public
class
TaskRunnable
implements
Runnable
{
int
count
=
0
;
@SneakyThrows
@Override
public
synchronized
void
run
()
{
while
(
true
){
if
(
count
>
5
){
break
;
}
System
.
out
.
print
(
String
.
valueOf
(
count
)
+
"\r\n"
);
count
++;
wait
(
500
);
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录