彦舜原创,优快云首发:完善版:文件工具类File,字节流Input/OutStream综合运用,文件间的数据资源复制。(文末有彩蛋)

封装(private、setter/getter方法)、构造方法、匿名对象、this关键字(调用类成员)、getInfo()方法 package cm.anonymous; /** * @author 姚瑾瑜:底层结构很重要,能让你知道为什么敲代码,怎样敲代码,推荐阅读学习JVM方面的书 * * 按照之前的内存关系来讲,对象的名字可以解释为在栈内存中保存,而对象的具体内容(属性、方法)在堆内存中保存, * 这样一来,没有栈内存指向堆内存空间,就是一个匿名对象。简言之,就是一个没有对象名的,类对象。 * * 封装(private、setter/getter方法)、构造方法、匿名对象、this关键字(调用类成员)、get 阅读详情
/**
 * 
 */
package api.io.pratices;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Scanner;

/**
 * 这个类用来练习测试“文件复制”
 */
public class Test2_FileCopy2 {

	/**
	 * 
	 */
	public Test2_FileCopy2() {
		// TODO Auto-generated constructor stub
	}

	/**
	 * 日常小黄线:The value of the local variable field is not used;
	 * 日常小注解:Add @SuppressWarnings 'unused' to main()/method()/field;
	 * 日常小注解:Add @SuppressWarnings 'deprecation' to main()/method()/field;
	 * 日常小注解:Add @SuppressWarnings 'resource' to main()/metod()/field;
	 * 日常小注解:Add @SuppressWarnings 'null' to main()/method()/field;
	 * 日常小注解:@SuppressWarnings("resource") == @SuppressWarnings({ "resource" })
	 * 日常小异常:Exception--API(IO)IOException--FileNotFoundException
	 */
	@SuppressWarnings("resource")
	public static void main(String[] args) {
		//字节流In和Out:以字节流读入写出的方式进行不同文件间的资源复制
		//Test2_FileCopy2.method();
		
		//读取一号文件,写出到二号文件中
		//@SuppressWarnings({ "resource" })
		System.out.println("请输入源文件的路径,即请输入需要进行复制数据的文件路径:");
		String s = new Scanner(System.in).nextLine();
		File f = new File(s);  //封装源文件路径,抽象化为抽象路径名
		
		System.out.println("请输入目标文件的路径,即请输入需要进行粘贴数据的文件路径:");
		String s2 = new Scanner(System.in).nextLine();
		File f2 = new File(s2);  //封装目标文件路径,抽象化为抽象路径名
		
		//完成文件间的交互:复制与粘贴
		copy(f, f2); 
		System.out.println("复制成功!!!");
	}
	
	private static void copy(File f, File f2) {
		/** 文件复制开发思路:
		  
			1、创建电脑磁盘文件与程序的数据连接流动通道,实际文件路径名抽象化为抽象路径名
			
			2、字节流读取,将电脑磁盘中的指定文件的数据资源,通过数据连接流动通道,读入程序
			
			3、字节流写入,将程序中从上一个文件读取的数据资源,通过数据连接流动通道,写入与该文件路径相同的另一个文件中,完成文件之间的数据资源复制
			
			4、关闭释放资源 
			
				程序充当两个文件间交互中介,数据的读入与写出,通过程序完成,进而完成两个文件间数据资源交互。
			*/
		//1.2文件读写,都存在诸多IO类异常,通常直接catch大异常:捕捉处理异常Unhandled exception type FileNotFoundException
		try {
			//1.1创建读取流对象is,即建立程序与磁盘文件进行交互的数据连接流动通道is,将磁盘文件f的数据资源,读入程序
			InputStream is = new FileInputStream(f);
			
			/**第2步开发总思路,并分步解析该思路:当程序读取完指定文件的所有数据,需要将程序中读取到的所有资源,写入/写出到目标路径下的目标文件中,最终完成所谓的文件复制*/
			//2.1当程序读取完指定文件f的所有数据,建立需要将程序所读取的上一个文件f中的所有数据,写入到目标文件f2的通道os(水管)
			OutputStream os = new FileOutputStream(f2);
			
			//1.4将磁盘文件的数据资源,读入程序。while循环循环读取磁盘文件中的所有数组资源,直至将文件中的数据全部读取完毕,read()返回-1:is.read()
			//1.5定义一个变量,记录程序每读取文件中的一个数据,它的字节。并在程序中打印显示出来,以核对程序所读数据是否与文件中数据正确一致
			int i;
			while((i = is.read()) != -1) {
				//1.6并在程序中打印显示出来,以核对程序所读数据是否与文件中数据正确一致
				System.out.println(i);
				
				//2.3通过程序,程序读取指定磁盘文件f中所有数据的同时,再通过程序,将这些数据写入到目标磁盘文件f2中去。最终,在此步,完成两个不同文件间的数据资源复制
				os.write(i);
			}
			
			//1.3创建字节输入流通道is的同时,应当同时创建水龙头,防止程序读取磁盘文件资源完毕后,数据泄露缺失不完整
			is.close();  //字节流通道(水管)水龙头
			os.close();  //2.2与1.3同理
		}catch(IOException e) {
			e.printStackTrace();
		}
	}
	
	//@SuppressWarnings({ /**"unused"*/ })  == @SuppressWarnings()  ==  @SuppressWarnings({})
	@SuppressWarnings({ "unused" })
	private static void method() {
		/** 文件复制开发思路:
		  
			1、创建电脑磁盘文件与程序的数据连接流动通道,实际文件路径名抽象化为抽象路径名
			
			2、字节流读取,将电脑磁盘中的指定文件的数据资源,通过数据连接流动通道,读入程序
			
			3、字节流写入,将程序中从上一个文件读取的数据资源,通过数据连接流动通道,写入与该文件路径相同的另一个文件中,完成文件之间的数据资源复制
			
			4、关闭释放资源 */
		//1.2、文件读写,都存在诸多异常,通常直接catch大异常:捕捉处理异常try/catch
		try {
			//1.1建立程序与电脑磁盘的文件之间的数据连接流动通道is,进行程序与磁盘文件的交互,将磁盘文件的数据读入程序
			//普通字节流读入
			InputStream is = new FileInputStream(new File("E:\\JavaDevelopmentEngineer\\java\\JDK\\Jdk1.8\\Temps\\Tmooc2002\\Workspaces\\bin\\io\\IONewFile()_2.txt"));
			
			//2.1创建字节写入流工具父类OutputStream实例对象,即建立将程序中存取自上一个文件的数据资源传输到,与上一个文件同意路径下的另一个文件中,的数据连接流动通道
			//普通字节写入流,append默认false,默认覆盖该文件中的原有数据
			OutputStream os = new FileOutputStream(new File("E:\\JavaDevelopmentEngineer\\java\\JDK\\Jdk1.8\\Temps\\Tmooc2002\\Workspaces\\bin\\io\\IONewFile()_3.txt"));
			
			//1.4通过数据连接流动通道is,将磁盘文件的数据资源读入程序:is.read();
			//1.6创建一个变量,记录每读取一次文件数据,得到的字节,直至读完该文件中所有数据资源
			int i;
			while((i = is.read()) != -1) {  //1.5while循环读取文件中所有数据资源到程序中。while循环判断条件:当文件中没有数据资源可读仍读时,返回-1,反之,不等于-1
				//1.7将程序从磁盘文件中读到的数据,打印并显示,核查读到的所有数据与文件中的数据是否一致、正确
				System.out.print(i);
				
				//2.3通过此写入流通道os,将程序中的数据资源写入文件
//				os.write(is.read());
				//os.write(i + "");The method write(int) in the type OutputStream is not applicable for the arguments (String)
				os.write(i);
			}
			//1.3程序读取磁盘文件数据资源,通过数据连接流动通道时,应当同时设置水龙头开关,防止数据传输完毕后数据继续在通道中流动传输造成泄露流失
			is.close();
			//2.2通过数据写入连接流动通道,程序数据读入磁盘文件时,应当同时设置水龙头开关,防止数据传输完毕后数据继续在通道中流动传输造成泄露流失
			os.close();
		}catch(IOException e) {
			e.printStackTrace();
		}
		//彦舜:https://mp.weixin.qq.com/s?__biz=MzU4ODkxMzYyMw==&mid=2247483731&idx=1&sn=67b332ea70fc43d57d5bcc61b3d91236&chksm=fdd4cfebcaa346fdc18e8d8753319886f32ccf0826cbd0e8fa7081a40196172940f44498e97f&sessionid=0&scene=126&subscene=0&clicktime=1598950811&enterid=1598950811&ascene=3&devicetype=android-28&version=2700113f&nettype=cmnet&abtest_cookie=AAACAA%3D%3D&lang=zh_CN&exportkey=AS%2BWRvMS3wHhOl%2BeRJoI68U%3D&pass_ticket=TvK%2BFPKj%2BXRAnIWw%2BIHia37FmGWhsU2e4uQ65a2BCga0YyuUuai8WzowCgxvfhIT&wx_header=1
	}
}

彦舜原创,优快云

彦舜原创,优快云首发,INTERFACE接口(小案例):计算机、USB接口、USB设备,用程序实现其运行原理(千山万水,才热爱) 创建主类主方法: /** * */ package cm.interfaces.application2; /** * @author 86184 * */ public class MainClass { /** * */ public MainClass() {} /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub 阅读详情

相关推荐

YOLO26算法心电图十二导联目标检测+训练好的模型+368张数据集+pyqt可视化界面.zip

附训练好的 YOLO 权重与 PyQt 可视化检测界面,页面底部含可视化效果预览,毕设/课设开箱即用。 【数据集概况】 · 检测类别(中文):[导联I(I), 导联II(II), 导联III(III), 胸导联V1(V1), 胸导联V2(V2), 胸导联V3(V3), 胸导联V4(V4), 胸导联V5(V5), 胸导联V6(V6), 加压肢体导联aVF(aVF), 加压肢体导联aVL(aVL), 加压肢体导联aVR(aVR)] · 训练集:313 张 · 验证集:37 张 · 测试集:18 张 · 总计:368 张 该数据集聚焦于临床心电图信号的精准识别与定位,其核心检测目标为标准12导联心电图中的各个独立导联波形区域,涵盖肢体导联(I、II、III)与加压肢体导联(aVR、aVL、aVF),以及胸前导联(V1至V6),适用于心电图自动分析系统中对各导联位置的快速准确标注与分类。数据采集场景真实还原了医院心电图室或急诊监护环境下的标准心电图记录纸,波形清晰、基线稳定,具有高度临床参考价值。... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 57 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.9708** mAP50-95 | 0.6344 Precision | 0.8990 Recall | 0.9191 train/box_loss | 1.2231 train/cls_loss | 0.9703 val/box_loss | 1.2779 val/cls_loss | 0.... 使用场景:毕业设计、课程设计、深度学习入门、工业场景落地验证。

彦舜原创,优快云首发:文件工具类File,字节流Input/OutStream综合运用,文件间的数据资源复制。未测试,你们看看敲得对吗?

/** * */ package api.io.pratices; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; /** * 这个类用来练习测试“文件复制” */ public class Test2_

YanShun_Java的博客 196

企业级AI助手平台 开箱即用的全栈AI平台,支持多智能体协同、Supervisor模式编排、多种决策模式、RAG技术和流程编排能力 支持多厂商大模型统一接入与管理,安全可控的企业知识库与高精度检索优化

企业级AI应用开发框架,支持多厂商大模型统一接入与管理,安全可控的企业知识库与高精度检索优化能力,提供可视化流程编排、自主决策智能体与多智能体协同调度,兼容主流 Agent Skill 协议,帮助企业与开发者零门槛快速构建安全、高效、可落地的AI智能体应用与行业解决方案。

The method makeText(Context, int, int) in the type Toast is not applicable for the arguments (new Vi

maketext的时候,报了错误,发现是上下文不对,因为我是在一个Fragment里边,想用toast来提示退出,  case R.id.setting_exit:     mB_exit.setOnClickListener(new OnClickListener() {          @Override     public void onClick(View v) {   

u013985228的专栏 4206

LuaJit分析(十一)去除string.dump函数

因此即使我们的指令顺序被打乱,通过loadfile系统调用,再通过string.dump调用,可以得到字节码文件,再通过与标准的luajit生成的字节码文件比对,即可找出差异所在。Lua脚本中的string.dump函数用于生成字节码文件,根据对 luajit -b命令的分析可以得出,最终dump出字节码文件都是使用的string.dump函数。同时lj_libdef.h和lj_ffdef.h这两个文件都是自动生成的,在msvcbuild.bat中,使用如下命令生成。

a545958498的博客 1131

初识机会网络仿真器ONE中ExternalMovement移动模型(导入外部移动数据)

最近半个月一直在研究ONE中关于ExternalMovement移动模型的源代码,在网上几乎没有找到相关的资料,很是苦恼,如果有共同研究方向的小伙伴欢迎联系我,共同讨论进步。 下面记录一下几点感悟: 1、使用外部数据的前提是在ONE的配置文件中增加及修改相关代码: Group.movementModel = ExternalMovement ExternalMovement.file = move...

qq_36974792的博客 656

Abstract Class (抽象类)

1 package cm.abstracts.define; /** 在本程序的类中定义了一个抽象方法print(),既然类中有抽象方法,那么类就必须定义为抽象类,所以使用了 “abstract class”来定义该类。 但是一定要记住:抽象类只是比普通类多了抽象方法的定义,即关键字abstract,其他结构与普通类完全一样。 */ //这个类用来测试抽象类的定义 public class ModelFthirtySix { static String name; pub

YanShun_Java的博客 772

西门子S7-200 SMART控制步进电机(二)

目录 一、开环运动控制方法 二、运动轴概述 三、配置运动控制向导 一、开环运动控制方法 S7-200 SMART CPU提供三种开环运动控制的方法: 1、脉冲宽度调制(PWM):内置于CPU中,用于速度、位置或占空比的控制 2、脉冲串输出(PTO):内置于CPU中,用于指定长度脉冲或指定距离的控制 3、运动轴:内置于CPU总,用于速度和位置的控制。本文所讲的就是通过运动轴实现步进电机的运动控制。 SR20和ST20 CP...

qq_43134642的博客 2万+

岁月会记得曾付出的一切,并给自己其他人从未知道的回报:Abstract

package cm.abstracts.limit; //这个类用来测试:隐藏抽象类的子类 public class ExampleFfourtyThree { public static void main(String[] args) { //子类B对象的向上转型,此时不需要知道B这个子类的存在 A a = A.getInstance(); //此时调用被子类B覆写过的抽象方法print() a.print(); } } //创建定义一个抽象类,关键字abstract,抽象类必

YanShun_Java的博客 711

利用netns做自环Iperf测试

netns可以让一台机器上模拟多个网络设备,是网络虚拟化的重要组成,将不同类型的网络应用隔离。一个net namespace有自己独立的路由表,iptables策略,设备管理。本文利用netns模拟网络来实现单机上网卡自环上的iperf测试或其他网络测试。

weixin_42414349的博客 3370

高频面试题-项目介绍篇

聊聊如何介绍项目经历。

m0_73359763的博客 1908

我的心像洋葱,需要一层一层剥开,你才明白这颗心多爱你:Abstract中继承关系中,变量初始化与构造方法的关系

package cm.abstracts.limit; //这个类用来财务室:在任何一个类的构造执行完之前,所有属性的内容都是其对应数据类型的默认值 public class CaseFfourtyFour { public static void main(String[] args) { //创建对象测试使用类:创建父类对象 //Hear h = new Body(100000000); + Body b = new Body(100000000); == new Body(1000

YanShun_Java的博客 530

【DICOM后处理】qt+vs 实现DICOM数据四视图显示

方法用于 设置 2D 视图的“向上”方向,即定义图像在屏幕坐标系中的朝向。该方法直接影响影像的显示方向,尤其在多平面重建(MPR)或非标准切面显示时至关重要。:方法用于 设置渲染窗口在屏幕上的显示位置(以像素为单位)。它控制的是 VTK 渲染窗口的左上角在屏幕坐标系中的坐标位置。DICOM四视图通常指同时显示医学影像的四个不同平面或视角,用于全面分析三维数据(如CT、MRI等)。:基于 标量值 设置不透明度(控制不同组织的显示),显示骨骼or显示高密度流体等。默认朝向原点 (0, 0, 0)

weixin_41804847的博客 1325

继承中,this关键字与super关键字,globalVariable与localVariable,及个别报错代码细节

package net.csdn.oop; /** * @author 彦舜 */ //这个类用来测试继承的用法 public class Test01_UseExtends { public static void main(String[] args) { //创建实例化对象,测试对应类的功能 //创建父类对象测试 Father f = new Father(); f.eat(); //创建子类对象测试 Son s = new Son(); s.eat();

YanShun_Java的博客 517

TPS65987D USB PD控制器:从原理到实战的完整设计指南

USB PD(Power Delivery)协议是USB Type-C接口实现高功率快充和数据传输的核心技术标准。其工作原理基于CC(Configuration Channel)引脚的双相标记编码(BMC)通信,通过协商电压和电流,实现高达100W的功率传输。这项技术的核心价值在于统一了充电标准,简化了设备间的互操作性,广泛应用于笔记本电脑、移动电源、扩展坞等设备。TPS65987D作为一款高度集成的USB PD控制器,将复杂的协议处理、电源路径管理和多重保护电路集成于单芯片,显著降低了设计复杂度。通过其可

weixin_30983965的博客 338

Spring Boot 与 Redisson 版本适配深度解析

Spring Boot 与 Redisson 的版本适配是一个动态演进的过程。开发者需要密切关注两者官方的版本更新日志,建立完善的版本验证机制。本文提供的适配方案基于当前最新技术状态(2024年1月),建议在实际生产环境中通过灰度发布策略验证版本兼容性。只有深入理解底层技术原理,才能在分布式系统的星辰大海中稳健航行。延伸阅读Spring Boot 官方迁移指南。

fudaihb的博客 1080

Abstract Class_02

package cm.abstracts.limit; //这个类用来测试抽象内部类 public class InstanceFfourty { public static void main(String[] args) { //非static方法必须通过实例化对象才能使用,通过子类创建抽象类(父类)的对象 Abstract a = new Extends(); //调用的是被子类覆写过的普通方法 a.fun2(); } } /** 根据相关概念,抽象类中依然可以定义内部的抽象类

YanShun_Java的博客 516

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

彦舜原创,优快云首发:映射

映射,数学领域专业名词术语,计算机领域专业名词术语。 指两个集合元素之间的对应关系。 指Map类参数中两个类型K与V的集合元素之间的对应关系。类参数,类型参数,泛型参数。 映射,亦称,射影,英文术语map。 Map<K,V>   K:key的的首字母简略大写,译为键,有多种称谓,键集、键域、键元素、键值、键,等等。此处,大写K,涉及泛型,表示为键集(键集元素)的类型,为K类型,或为某一具体类型的通用标识/表示/标记。K类型值或K值,不可重复,非空。   V:value的首字母简略大写,译为值,有

YanShun_Java的博客 486

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

static定义方法总结,概览

/** * static定义的属性和方法都不受实例化对象的控制,比如setter方法,直接通过本类,在主方法中,进行调用, * 而无需创建该类实例化对象进行调用。static属性亦是,故static定义的属性和方法都是独立于类的功能。 * * 但是,此时会出现一个特别麻烦的问题:方法除了分为 构造方法和普通方法 外,还分为了 static方法和非static方法。 * 而static方法和非static方法更为复杂,它们之间的互访会受到限制。 * * 限制如下:

YanShun_Java的博客 485

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

彦舜原创,优快云首发:Interface入门,及其几个特点详解

/** * */ package cn.yanshun.interfaces; /** * @author yanshun——彦舜 * */ //这个类用来测试接口的特点 public class Test01_Interface { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //创建对应实例化类对象,使用测试类,关键字n

YanShun_Java的博客 411

Polymorphism、Abstract Class、Extends,面向对象特性与面向对象的高级知识部分

package cn.csdn.abstracts; //这个类用来测试抽象类的用法及其特点 public class Test3_Abstract { public static void main(String[] args) { //创建子类对象,测试使用类 //The value of the local variable a/a2/a3 is not used Advance a = new Advance(); a.eat(); a.sleep(); // //创

YanShun_Java的博客 395

彦舜原创,优快云首发:实参与形参

A)形式参数(简称“形参”) 定义函数时,函数名后面括号中定义的变量,称为参数,这就是所谓的形参。 B)实际参数(简称“实参”) 具有内存空间,并存有数据的变量、常量、表达式、函数等,用于传递给所调函数中的参数。实参,通常是同时定义和初始化的变量。 形参和实参的功能是传递数据,发生函数调用时,实参的值会传递给形参。 C)形参和实参的区别和联系: 形参只有在被实参传递数据时,才被系统底层分配内存,保存实参传递的数据。 实参具有内存,并确实存有数据。 实参与形参一一对应,数量、类型、顺序应一致。

YanShun_Java的博客 395

谈如何使用新工具,以 Linux Mint 为例(2)

如图,各位已看到,此为 Linux Mint 的官方使用手册,仅仅只是一个关于 Mint 使用说明的模块,在官网还有更为全面详细的其他模块,对 Mint 进行系统而整体的说明、介绍、使用、安装等。 所以啊,我劝劝那些小白,或是刚入行的初级程序员们,别一个劲的闷头在网上各种搜索,少走弯路,多看看《谈如何使用新工具,以 GitHub 等为例》这篇文章,多看看官网正版而全面地详解,要舍得花时间,自己学来的才是自己的。 我不会上链接的,已经说得很透了,最后一层窗户纸,得靠自己去撕开。上面截图中的官方用户指南,在官.

YanShun_Java的博客 385

static定义method、property、class的用法,及注意事项

package net.csdn.statickeywords; //这个类用来测试static关键字的用法:定义属性 public class ExampleTninetyOne { public static void main(String[] args) { //深层次原因:底层中,内存中,static属性保存在全局数据区 Book.pub = "static不受实例对象控制,位于内存中的全局数据区,可以在主程序中由抽象模板类直接调用,修改/使用"; //貌似抽象模板类,也只有在

YanShun_Java的博客 363

彦舜原创,优快云首发:定义三种商品,他们各自具备的对应功能,并使用(2)——重点

package cm.abstracts.application; public class InstanceFfourtyEight { public static void main(String[] args) { //主类主方法,所有程序入口,执行起点 // 分布4:各个子类的具体操作由主类主方法发出命令 //通过创建对应子类对象的向上转型,实例父类(抽象类)对象 //通过创建Robot类对象的向上转型,创建父类对象 Abstract a = new Robot2(); a

YanShun_Java的博客 355
上一篇: 彦舜原创,优快云首发:文件工具类File,字节流Input/OutStream综合运用,文件间的数据资源复制。未测试,你们看看敲得对吗?
下一篇: myeclipse和eclipse区别有哪些?
彦舜
博客等级 码龄7年 2粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值